1
:今ジェネリック - 生タイプの警告のための正しい治療:一般的なメソッドを実装するとき、私は次のステートメントを使用
@SuppressWarning({"unchecked"})
private static <T extends Comparable<T>> T[] merge(T[] arrayA, T[] arrayB) {
...
T[] result;
// This is the line that needs that gives warnings
result = (T[]) Array.newInstance(arrayA.getClass().getComponentType(), arrayA.length + arrayB.length);
...
を、多くのプログラミングのソースは、それがチェックされない生のための@SuppressWarningsを使用しないように良いプログラミングの練習だと述べていますタイプ。しかし、この場合、私はコード内でこの警告に対処する方法を知らない。 Javaでジェネリック型をインスタンス化するベストプラクティスをネットで検索しても、明確なアプローチはありません。実際、私が見つけた解決策の多くは理想的ではありません。
このコードでは、メソッドに@SuppressWarningsを追加しないで、生の型の警告を削除するにはどうすればよいでしょうか?私は最良のアプローチをしましたか?
恐ろしい:
Arrays.copyOf
のいえば、あなたの代わりにあなたの現在のロジックの
System.arraycopy
と組み合わせて、そのメソッドを使用することができます。ありがとう! –