Java genel bir yöntem, genel tür bağımsız değişkenleri türünü zorlamak için kullanılabilir mi?
Bir yöntem bağımsız değişkenleri, bu gibi: aynı türde olduğundan emin olmak için genel bir tür kullanmak istiyorum
public static <T> void x(T a, T b)
Bu yönteme geçirilen iki bağımsız değişkeni (a ve b), her zaman aynı türden olması gerekir sanıyorum. Ama benim için sürpriz, herhangi bir tür (hatta ilkel) x, T Nesne silinirse, geçirilen bağımsız değişkenler ne olursa olsun yöntem için bağımsız değişken geçebildim.
Bu sadece geçici bir çözüm bulmak şimdiye kadar, kullanılması olduğunu buldum 'uzanır' bu gibi:
public static <T, U extends T> void x(T a, U b)
Ama bununla yaÅŸayabilirim, ancak istediÄŸim bu deÄŸil.
Bir yol bir yöntem tür bağımsız değişkenleri zorlamak için genel bir tür var mı acaba?
CEVAP
Bildiğim kadarıyla eğer doğru bir şekilde yapmak için explicitly specify the type of T yerine izin derleyici gerçekleştirip kendi türü için en doğrudan üst durumda iki farklı nesne türleri olmak geçirilen bağımsız değişken olarak. Örneğin: böyle bir şey al
public class Test {
public static void main(String[] args) {
Test.x(5.0, 5); // This works since type is inferred to be Number
Test.<Integer>x(5, 5); // This works since type is stated to be Integer
Test.<Integer>x(5.0, 5); // This doesn't; type is stated to be Integer and Double is passed in
}
public static <T> void x(T a, T b) {
}
}
Nasıl Java Genel bir yöntem statik yap...
Genel yöntem oluşturmak bir Numaralama...
Nasıl Java genel bir dizi oluşturmak i...
Sayısal türleri için genel bir yöntem ...
Java'da değişken bağımsız değişken bir...