3 回答

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

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

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