3 回答

TA貢獻1942條經驗 獲得超3個贊
您不能重載強制轉換運算符。Java 不支持它,而且可能永遠不會。
要將單個值轉換為所需類的實例,我們使用靜態工廠方法。
public static Person fromAge(int age) { return new Person(age); }
他們通常返回一個部分構造的對象。在上面的代碼片段中,一個新構造的人只age
設置了:其他字段將具有它們的默認值。
相反,我們使用吸氣劑。
public int getAge() { return age; }
但是,由于
toString
已經存在,添加其他數據類型也是有意義的。
toInt
當它應用于我時(作為Person
類的一個實例)沒有任何意義??赡苁俏业纳砀?、體重、年齡、今天去洗手間的次數等等。我不能用一個整數來代表我自己,大多數班級也不能。
另一方面,toString
可以很好地完成這項工作:我可以給你 (read return ) 我的愛好、我的生物識別信息,甚至我的照片的總結?;蛘呶铱梢詫⑺艚o默認實現,它仍然可以令人滿意地表示一個對象。

TA貢獻1966條經驗 獲得超4個贊
您不會為此使用強制轉換,只需在您的 Person 類中編寫方法來獲取這些值。
public int getAge(){ return age; }

TA貢獻1802條經驗 獲得超5個贊
所以我只做過一次,我不確定我做的方法是否合適。
但我的方法是一個名為 的方法typeConverter
,我會給它一個object
as parameter
,然后你可以parameter
看看它是什么對象類型,然后用你的值創建一個新的 Person。
雖然這種方法可能會導致問題,但當您的班級有兩個integer fields
. 但我認為你可以找到一個解決方案,通過給它另一個參數來定義,你想將它轉換到哪個字段。
我真的很抱歉我的英語不好,但我希望你能明白原則。
添加回答
舉報