2010-08-03 10 views
1

배열 클래스에 기능을 추가하려고합니다. 내 프로젝트에서는 배열의 (정적) 메서드를 사용하고 배열 변환, 정렬 등을 처리하는 몇 가지 다른 메서드가 있습니다 ...Java에서 배열 클래스 확장

배열을 확장하는 개체 MyArrays에 추가하려고합니다.

MyArrays.toList(foo); 

뿐만 아니라

MyArrays.myOwnFunction(bar); 

을 이동하지만 난 배열-생성자는 개인 액세스 할 수 있기 때문에 그것을 확장 할 수 아니에요 수 있습니다. 정말 필요한 것은 아니지만 지금은 내가 할 수 없다는 것을 알고 있습니다. 나는 정말로 원합니다. 해결 방법이 있습니까?

감사합니다.

+1

배열 클래스는 무엇입니까? 'java.util.Arrays'도'java.lang.reflect.Array'도'toList' 메소드를 포함하고 있지 않습니다. 그러나 반영 버전은 '최종'이므로 확장 할 수 없습니다. 그리고 두 클래스 모두'정적 인 '메소드로만 구성되기 때문에 실제로 클래스를 확장해야합니까? –

답변

6

감사합니다. 그리고 당신이 유틸리티 기능을 하나 또는 두 개의 클래스로 가지고 있는지 여부가 중요한 이유는 무엇입니까? 기록을 위해 commons-lang의 ArrayUtils에는 추가적인 유틸리티 메소드가 있습니다.

기술적으로 Arrays에서 해당 메서드를 호출하여 유틸리티 클래스의 모든 메서드를 다시 구현할 수 있지만 그럴 필요는 없습니다.

+0

그리고 왜 안되니? 나는 def 생성자가'private'이므로 물리적으로 배열을 확장 할 수 없다는 것을 알고 있지만 그 뒤에있는 논리는 무엇입니까? – user3932000

0

Trove4j 라이브러리를 사용해 보시기 바랍니다. 이것은 primitives를 지원하는 콜렉션에 sort()처럼 많은 유용한 Arrays/Collections 메소드가 추가되어 있습니다. 그것들은 또한 확장 될 수 있습니다.