2010-04-02 7 views
0

TreeNode.item과 같은 개체 (문자열 아님)를 int와 같은 기본 형식으로 변환하는 방법.개체를 프리미티브 int로 변환

+1

무엇 Object 참조 점은? 어떤 종류의 전환을 원하십니까? –

+0

String to primitive는 문자열에 int 또는 double을 포함 할 수있는 방법을 추측하기가 쉽기 때문에 존재합니다. 하지만 어떻게 알고리즘을 TreeNode를 int로 변환합니까? 내가 레이블을 얻는 것만을 상상할 수있는 유일한 방법은 문자열을 int로 변환하는 것입니다. – Riduidel

+1

의미있는 변환을 원한다면 '객체'가 무엇을 의미하는지 알려줄 필요가 있습니다. – polygenelubricants

답변

6

: 단지 더블 체크, 객체가 정수 유형의 정말입니다, 다음 (나는 당신의 컴파일러 레벨이 1.5이라고 가정) 자동 복싱을 사용 : 음

Object o = getTheValue(); 
int result = 0; // we have to initialize it here! 
if (o instanceof Integer) { 
    result = (Integer) o; 
} else { 
    throw new WTFThisShouldHaveBeenIntegerException(); 
} 
0

hashCode()을 원할 수도 있습니다. 그렇다면 다시는 그렇지 않을 수도 있습니다. 마지막 코멘트에 대응

+2

Random.nextInt()도 동일한 기능을 다루지 않습니까? ;-) – Riduidel

+0

@Itay - 고마워요! –

+0

@Riduidel - 아니요. 'hashCode'는 같은 객체에 대해 다시 호출 될 때 동일한 값을 반환합니다 (보이는 속성을 변경하지 않는 한). 그러나 둘 다 객체간에 반드시 고유해야합니다 (동일한 시각적 속성이있는 경우 동일 할 가능성이 높습니다). –