확인,이 소리를 null 미쳐 .. 뭔가 아주 아주, 다음 코드에서 어떤 일이 일어나고 아주 이상한 :new 연산자의 반환
table: null
: 여기
treeTable = new TreeTable();
System.out.println("table: " + treeTable);
if(treeTable == null) {
System.out.println("omg how ?!");
}
.. 그리고는 출력
그리고 그게 다야! 이건 가짜가 아니야!
내가 이걸 어떻게해야합니까? 디버거에서 나는 null
값이 treeTable
에 treeTable = new TreeTable();
바로 뒤에 할당됨을 알 수 있습니다. 낯선 사람도 두 번째 println이 실행되지 않는다는 것입니다 ... Java에서 정말 나쁘고 절름발이입니까? 이것이 어떻게 일어날 수 있을까 ?? 사전에
감사
처음에는 컴파일되지 않습니다. 누구나 당신의 야생 주장을 어떻게 확인할 수 있습니까? 단순히'main' 메쏘드에 삽입하면'treeTable'이'null'이 아닐 수 있습니다. –
Marko가 말했듯이, 우리에게 보여주지 않는 코드가 더 많지 않으면 컴파일되지 않습니다. 우연히 null을 반환하는 toString 메서드를 재정의 했습니까? – jervine10
저는 jervine10이 toString의 오버라이드로 머리에 못을 박았다는 것을 99 % 확신합니다. 이 결과를 재현하는 코드를 작성하는 것은 확실히 쉽습니다. –