2011-02-23 92 views
1

在java中,我可以將我自己的類設計爲可轉換(或castable?)爲原始類型?舉例來說,如果我有:製作自定義對象可轉換

Class IntString{ 
    private int intVal; 
    private String strVal; 

    public IntString(int intVal, String strVal){ 
    this.intVal = intVal; 
    this.strVal = strVal; 
    } 
} 

static void main(String[] args){ 
    IntString intStr = new IntString(1,"yes"); 
} 

是否有可能有類似:

int intTstVal = intStr; 

甚至

int intTstVal = (int)intStr; 

而且我也可以用類似的方式使字符串工作?

感謝

回答

2

不會隱但是你可以實現相同/相似的方法來與包裝使用。

int intTstVal = intStr.intValue(); 

String text = intStr.stringValue(); 
+2

嗨,彼得,謝謝你的回覆。但這是非常明顯的。這不是'可兌換'或'鑄造'。 – user630286 2011-02-23 15:13:52

-1

不,你顯然正在試圖模仿PHP,Javascript或Python等鬆散類型的語言,但Java不是這樣的語言。對於基本類型,你試圖做的事是不可能的。你可能可以用泛型方法和類型轉換,但我認爲這不是最好的解決方案。

順便說一句,你到底在做什麼?

+0

爲遲到的答覆家人道歉。克蘇魯可能是對的。我想要做的是創建一個自定義枚舉。我知道enum在那裏。但它不適用於MIDP2.0。我仍然可以在一定程度上進步;但不能在switch case語句中使用它們。一個例子是: – user630286 2011-03-01 14:09:31

+0

'public final class MyEnum {0} {0} {0}私人final int代碼; private final String desc; private MyEnum(final int code,final String desc)this.code = code; this.desc = desc; } public int getCode(){ return code; } public String getDesc(){ return desc; } public static MyEnum VAL1 = new MyEnum(0,「Val1」); public static MyEnum VAL2 = new MyEnum(2,「Val2」); } ' – user630286 2011-03-01 14:21:13

相關問題