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
과 함께 그 방법을 사용할 수 있습니다. 감사! –