2010-04-02 90 views
0

如何將類似TreeNode.item的對象(不是字符串)轉換爲像int這樣的基元。將對象轉換爲基元int

+1

那麼什麼對象引用指向什麼?你想要什麼樣的轉換? – 2010-04-02 06:54:23

+0

String to primitive存在,因爲它很容易猜測字符串如何包含int或double。但是,如何將你的TreeNode轉換爲一個int(算法是什麼)?我可以想象的唯一方法就是獲取標籤,然後做一個字符串到int轉換。 – Riduidel 2010-04-02 06:58:04

+1

如果你想要一個有意義的轉換,你需要告訴我們'Object'的含義。 – polygenelubricants 2010-04-02 08:22:32

回答

6

在回答你的最後的評論:剛纔仔細檢查,該對象是Integer類型的真,然後使用自動裝箱(我假設你的編譯器級別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 2010-04-02 07:21:43

+0

@Itay - 感謝修復! – 2010-04-02 07:25:28

+0

@Riduidel - no。當再次調用同一對象時,'hashCode'返回相同的值(除非您更改其可見屬性)。但是對象之間也不一定是唯一的(如果它們具有相同的可見屬性,那麼它可能是相同的)。 – 2010-04-02 07:27:15