작은 개인용 유틸리티 라이브러리 용 Grid 클래스의 구현 작업 중입니다. 많은 작업을 한 후에 Grid 클래스를 정리하고 일부 기능을 추가했습니다. 내 Grid 클래스에서 사용하고자하는 핵심 기능 중 하나는 지정된 유형의 단일 2D 배열을 생성자의 인수로 사용할 수 있다는 것입니다.원시 배열에 관한 Java Generics 메서드 코드 중복 문제
생성자에 대한 프리미티브 배열을 전달하려고 시도하는 코드를 컴파일 할 수 없다는 것을 알기 전까지는 정상적으로 작동했습니다. autoboxing은 프리미티브 배열에서는 일어나지 않기 때문에 코드 재사용의 형태로 나에게 설계상의 문제가 생긴다. 그리드를 초기화하는 메소드는 전달 된 배열의 유형에 관계없이 프리 머 티브 일지라도 동일하지만 모든 다른 유형의 프리미티브에 대해 별도의 생성자를 작성해야합니다. 어느 날 9 개의 다른 생성자가 있다고 가정합니다. 기본 생성자 만 사용한다고 가정합니다. 그리드 래핑 옵션과 같은 다른 인수를 사용하여 생성자를 가질 계획이었습니다.
이 코드 중복을 피할 방법이 없다고 가정하면 맞습니까?
예, 당신 말이 맞아. 죄송합니다. –
원시 배열에서 autoboxing이 발생하지 않는다는 것을 혼동합니다. 모든 배열은 객체이며 일반 유형에 사용할 수 있습니다. 코드를 보여주는 마음? 당신을 정확하게 이해하고 있는지 잘 모르겠다. –
[builder pattern] (http://stackoverflow.com/questions/328496/when-would-you-use-the-builder-pattern/1953567# 1953567)를 사용하여 텔레 스코핑 생성자에서 벗어나십시오. –