我是一名java初學者,雖然我在這裏和Google上都找過這個話題,但我還沒有找到它。我確定它必須在那裏,但是我不知道如何搜索。無論如何,這裏是:Java:如何將A型轉換爲B型?
我怎樣才能編寫方法來從字符串/整數/等轉換。到一個班,反之亦然?我一定會喜歡我的班級轉換是自動的,但我可以生活在不太完美的類型轉換中。我不舒服的是調用類(「一些字符串」)或class.toString()來回轉換從字符串類。我希望它儘可能無縫。這裏有一個例子:
我有一個IsFound行爲像一個布爾型的類,我用它作爲方法中的返回類型;在方法體中,我返回一個字符串,如「找到」(而不是true)。你可能會因爲我沒有使用布爾值而嘲笑我,但我想用自定義的類/類型玩一點。這是一些代碼
public class IsFound{
public boolean found; // field
public IsFound(String isFound_){
if(isFound_.equals("FOUND")){
found = true;
else found = false;
}
}
public String toString(){
if(found) return "found";
else return "not found";
}
}
這是我能得到的最遠的。我需要轉換器方法來/從字符串和未來的引用我想知道轉換器是否適用於int,char或甚至其他類。
擴展布爾的解決方案只是作爲最後的手段,因爲我不知道我正在攜帶什麼臃腫 - 我想從0創建我自己的類。0編輯: 我想能夠使用類似的東西:
public IsFound parse(String substring_){
if(search(substring_, string) == true){
return FOUND; // or return "FOUND";
{
return NOTFOUND; // or return "NOT FOUND";
{
目前它給出的錯誤不能從字符串轉換爲IsFound。我想填補這個空白。
「我會不舒服與調用類的來回轉換(」一些字符串「)或class.toString()字符串類「你剛剛排除了這些情況下使用的機制。如果你想在兩個不同的具體類之間進行轉換,你必須有代碼才能這樣做。這意味着要麼調用「新發現(字符串)」或調用「Found.parseString(字符串)」或類似的東西。 – dcsohl
如果我不能從java的autoconvert(類似於C++中的操作符重載這樣的無縫操作)至少我想要一個轉換器方法能夠使用類型轉換(IsFound)字符串 – mireazma
不,你不能從字符串類型轉換其他。期。這個問題強烈地感染了一個經典的[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem),你不僅咆哮錯誤的樹,但看着錯誤的森林。 –