나는 Java에서 텍스트를 서로 다른 문자 뒤에 나오는 빈도 문자를보고있는 프로젝트를 수행하고 있습니다. 결과를 수집 할 때 초의 배열로 저장합니다. 그러나 동일한 결과 표에서 모든 것에 대한 결과를 저장하고 싶습니다.Java에서 배열과 프리미티브를 모두 포함하는 배열을 가질 수 있습니까?
일부 요소가 배열이고 다른 요소가 프리미티브 인 배열을 사용할 수 있습니까?
나는 Java에서 텍스트를 서로 다른 문자 뒤에 나오는 빈도 문자를보고있는 프로젝트를 수행하고 있습니다. 결과를 수집 할 때 초의 배열로 저장합니다. 그러나 동일한 결과 표에서 모든 것에 대한 결과를 저장하고 싶습니다.Java에서 배열과 프리미티브를 모두 포함하는 배열을 가질 수 있습니까?
일부 요소가 배열이고 다른 요소가 프리미티브 인 배열을 사용할 수 있습니까?
예, Object[]
을 가질 수 있으며 래퍼 Integer
(원시 int
아님)이어야합니다. (참고 : 각각 int
을 단일 요소 배열 int[]
으로 저장하여 Object로 만들지 만 "집에서 시도하지 말고"집에서 시도하지 마십시오)
하지만 가능한 경우에도 배열 isn 올바른 접근 방법이 아닙니다. 대신이 클래스를 만드십시오. (프리미티브 래퍼 클래스에 오토 박싱 할 것이다) 당신이 Object
의를 저장해야하는 경우
public class FrequencyAnalysis {
private int[] frequencies;
private String info;
private Date lastRun;
// etc
}
당신이 항목을 읽을 때 당신은 다음 instanceof
Object
과해야합니다 :
이 같은 시도 안전하게 던져주세요.
당신은 박스 유형을 사용할 수 있습니다, 즉 java.lang.Integer의는 (그래서 배열 형식은 [] 객체 여야합니다), 그러나 더 나은 결과 저장을위한
아니, 작동하지 않는 새로운 클래스를 만들 수 있죠. 하나의 배열에는 객체 또는 프리미티브 만있을 수 있습니다. 다른 것은 단지 일시적인 해결책 일뿐입니다.
(+1)입니다. – Ralph
BTW'int []'는 기본 객체가 아니며 객체이며 객체 배열에있을 수 있습니다. 첫 번째 질문에 대한 답변은 –