2011-12-12 2 views
1

나는 Java에서 텍스트를 서로 다른 문자 뒤에 나오는 빈도 문자를보고있는 프로젝트를 수행하고 있습니다. 결과를 수집 할 때 초의 배열로 저장합니다. 그러나 동일한 결과 표에서 모든 것에 대한 결과를 저장하고 싶습니다.Java에서 배열과 프리미티브를 모두 포함하는 배열을 가질 수 있습니까?

일부 요소가 배열이고 다른 요소가 프리미티브 인 배열을 사용할 수 있습니까?

+0

BTW'int []'는 기본 객체가 아니며 객체이며 객체 배열에있을 수 있습니다. 첫 번째 질문에 대한 답변은 –

답변

3

예, Object[]을 가질 수 있으며 래퍼 Integer (원시 int 아님)이어야합니다. (참고 : 각각 int을 단일 요소 배열 int[]으로 저장하여 Object로 만들지 만 "집에서 시도하지 말고"집에서 시도하지 마십시오)

하지만 가능한 경우에도 배열 isn 올바른 접근 방법이 아닙니다. 대신이 클래스를 만드십시오. (프리미티브 래퍼 클래스에 오토 박싱 할 것이다) 당신이 Object의를 저장해야하는 경우

public class FrequencyAnalysis { 
    private int[] frequencies; 
    private String info; 
    private Date lastRun; 
    // etc 
} 
0

당신이 항목을 읽을 때 당신은 다음 instanceofObject과해야합니다 :

이 같은 시도 안전하게 던져주세요.

0

당신은 박스 유형을 사용할 수 있습니다, 즉 java.lang.Integer의는 (그래서 배열 형식은 [] 객체 여야합니다), 그러나 더 나은 결과 저장을위한

1

아니, 작동하지 않는 새로운 클래스를 만들 수 있죠. 하나의 배열에는 객체 또는 프리미티브 만있을 수 있습니다. 다른 것은 단지 일시적인 해결책 일뿐입니다.

+1

(+1)입니다. – Ralph

관련 문제