Bu kod neden bir derleme hatası göstermiyor? Yukarıdaki yukarıdaki ince çalıştıran neden (aşağıda gösterilen) bu gibi normal bir kod SonraGenel bir yöntemdeki bir parametre aynı anda Tam Sayı ve Karakter sınıfına nasıl atanabilir?
public class Hello
{
public static void main(String[] args)
{
Character arr=65;
Integer a='A';
if(arr==a) //Compilation Error,shows Incompatible types Integer and Character
System.out.println("True");
}
}
yazarsanız
public class Generic
{
public static void main(String[] args)
{
Character[] arr3={'a','b','c','d','e','f','g'};
Integer a=97;
System.out.println(Non_genre.genMethod(a,arr3));
}
}
class Non_genre
{
static<T> boolean genMethod(T x,T[] y)
{
int flag=0;
for(T r:y)
{
if(r==x)
flag++;
}
if(flag==0)
return false;
return true;
}
}
nasıl T Tamsayı sınıfının olması ve T dizisi Karakter sınıfının olabilir Aynı zamanda ve eğer yayınlanmıyorsa, neden yazdırılmıyorsa, ASCII değeri 'a' 97'dir, bu yüzden doğru yazdırılmalıdır.
* Nesne değerlerini diğer Nesne değerleriyle karşılaştırabilirsiniz *. Bu biraz yanlış geliyor. Olması gereken * Birbirinizle olan referansları birbiriyle karşılaştırabilirsiniz * – CKing
@ Sotirios-Ama her bir döngüde T'nin türü ne olacak ve neden baskı yanlış? –
@RajMalhotra '==' kullandığınız için. Bu kimlik için değil, eşitliği kontrol eder. – CKing