T[]配列をとる、変更できないメソッドがあります。
事前にタイプがわからないので、配列のtoString()要素を「」する必要があります。[i]T
すべてのオブジェクトについて、呼び出すことはできますtoString()がT[]、プリミティブの配列である可能性があり、これは意味がありません。
int i = 0;
i.toString(); // nonsense
私に何ができる?
に応答して:
T []はプリミティブの配列である可能性があり、これは意味がありません
ジェネリック型をプリミティブにすることはできません。これにより、配列が常にオブジェクトの配列になることが保証されます。すべてのオブジェクトが拡張Objectされるため、toStringメソッドがあります。
ジェネリック型をプリミティブにすることはできません。問題は存在しません。
ジェネリックスはプリミティブ型では使用できません。したがって、T[]プリミティブの配列にすることはできません。したがって、がタイプのarr[i].toString()場合はいつでも呼び出すことができます。arrT[]
コンパイラーは.toString()呼び出しを許可します。これは、実際に機能することを示す良い手がかりになるはずです。Javaコンパイラが何かを許可しない場合にのみ、とにかくそれを行う方法を考える時が来ました。これがJavaの順序です。