OCA第5部分中的Java难题
在Java Puzzlers系列的第五部分中,我們將看到與X.parseX(String s)方法相關(guān)的內(nèi)容。
您可以看到我們對X.parseX()方法的期望。
public class Puzzler { public static void main(String[] args){ int i = Integer.parseInt( "2" ); System.out.println(i); // prints 2 } }我們?yōu)檫@些方法提供了一個String,可以將其轉(zhuǎn)換為原始表示形式并希望達到最佳效果。 現(xiàn)在讓我們檢查另一個示例,該示例將為我們提供NumberFormatException。
public class Puzzler { public static void main(String[] args){ int i = Integer.parseInt( "integer" ); // java.lang.NumberFormatException: For input string: "integer" } } 由于輸入是一個單詞,而不是可以解析為整數(shù)的內(nèi)容,因此我們得到NumberFormatException。 上面的情況對于每種數(shù)字類型都是一致的。 因此,當(dāng)您使用某個隨機String調(diào)用其解析方法時,Integer,Byte,Short,Long,Double,Float不會令您感到驚訝。 您將獲得NumberFormatException。
現(xiàn)在讓我們檢查布爾值會發(fā)生什么。
你能猜出會發(fā)生什么嗎? 解析調(diào)用可能會引發(fā)java.lang.BooleanFormatException,對嗎? 并不是的。 如果運行該命令,它將在屏幕上顯示“ false”。 原因是Boolean.parseBoolean()僅接受任何內(nèi)容,如果無法解析,則僅返回“ false”值。 現(xiàn)在讓我們看另一個例子。
public class Puzzler { public static void main(String[] args){ final boolean b2 = Boolean.parseBoolean( "TrUe" ); System.out.println(b2); } }您可能會再次期望假? 并非如此,因為parseBoolean不區(qū)分大小寫,在這種情況下將返回“ true”。
翻譯自: https://www.javacodegeeks.com/2020/05/java-puzzlers-from-oca-part-5.html
總結(jié)
以上是生活随笔為你收集整理的OCA第5部分中的Java难题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win8电脑怎么恢复出厂设置如何是电脑恢
- 下一篇: OCA第2部分中的Java难题