int と Integer の 2 つの変数に問題があります。これらはほぼ同じですが、(以下のコードに示すように) いつも同じように動作するとは限りません。これが私の問題です。このコードは完璧に機能します。私はジェネリック メソッド printArray を作成しました。このメソッドは、機能するために (ジェネリックであるため) 任意の種類の変数の配列を必要とします。ここでは、変数の型 Integer を使用します。しかし、配列 'getal' のタイプを (Integer ではなく) int に変更すると、メソッド printArray が機能しなくなります。何故ですか?ジェネリック メソッドは int 型の変数では機能しませんか?
package Oefenen;
public class printArray
{
public static void main (String args[])
{
Integer[] getal = {10, 20, 30, 40, 50};
printArray(getal);
}
public static <E> void printArray (E[] intArray)
{
for (E element : intArray)
{
System.out.printf("%s\n", element);
}
}
}
ps:ジェネリック メソッドを int 専用のメソッドに変更すると、機能します。だから私は問題は次のとおりだと考えていました:ジェネリックメソッドは int では機能しません。私は?