처음 Object[]
안에있는 Object[]
에 액세스하려고하면 메모리 주소가 System.out.println(Object[1]);
이됩니다.Object [] within Object [] Java가 메모리 주소를 반환합니까?
어떻게 대신 내용을 반환 할 수 있습니까?
처음 Object[]
안에있는 Object[]
에 액세스하려고하면 메모리 주소가 System.out.println(Object[1]);
이됩니다.Object [] within Object [] Java가 메모리 주소를 반환합니까?
어떻게 대신 내용을 반환 할 수 있습니까?
System.out.println
을 배열 (또는 그와 관련된 다른 객체)에 호출하면 toString()
메서드가 암시 적으로 호출됩니다 (물론 null
이 아닌 것으로 가정). 배열은 사소한 방식으로 구현하므로 언급 한 바와 같이 주소를 얻는 것은 그리 유용하지 않습니다.
System.out.println(Arrays.deepToString(Objects));
작동하지만 배열을 객체로 지정해야했습니다. System.out.println (Arrays.toString (Object []) objects [1]))); 내용을 반환합니다. 배열 내의 배열에있는 특정 항목에 어떻게 액세스합니까? –
단순이
outerObj = Object[1];
System.out.println(outerObj[0]);
을 수행하면 전체 "부모"배열을 인쇄 할
Arrays.deepToString
를 사용할 수 있습니다, 더 나은 아직
System.out.println(Arrays.toString(Objects[1]));
또는 :
Arrays.toString
는 당신에게 더 유용한 출력을 제공한다
개체 안에 문자열을 넣는 경우 do :
System.out.println(((String)Object[1]));
Java는 배열에서 toString()을 호출 할 때 쓰레기를 인쇄합니다. 중첩 된 배열이 여전히 있으며, toString() 치료를받을 수 있도록,
Arrays.toString(array);
하지만 당신은 배열의 배열을 가지고 :
는 읽기 쉽게 배열을 인쇄합니다.
하지만! 탈출구가있다!
Arrays.deepToString(arrayOfArrays);
'System.out.println (Arrays.toString (Object [1]));'? –
그것은 메모리 주소가 아니며 숫자 부분에 대한 해시 코드입니다. toString()을 확인하십시오. –