int n ;
n= (int)(javax.swing.JOptionPane.showInputDialog(null,"enter a 3 digit no."));
爲什麼上面給出的錯誤[必須int,找到的字符串]和下面的工作正常嗎?java中的類型轉換
int n ;
n= Integer.parseInt(javax.swing.JOptionPane.showInputDialog(null,"enter a 3 digit no."));
int n ;
n= (int)(javax.swing.JOptionPane.showInputDialog(null,"enter a 3 digit no."));
爲什麼上面給出的錯誤[必須int,找到的字符串]和下面的工作正常嗎?java中的類型轉換
int n ;
n= Integer.parseInt(javax.swing.JOptionPane.showInputDialog(null,"enter a 3 digit no."));
Integer.parseInt
不使用鑄造,而是一個簡單的算法來解釋數字的字符串作爲數英寸Casting由JVM直接在原始值或對象引用上的編譯器上完成。它可以把4.5
成4
(類型轉換,因爲它改變了基礎值)和ArrayList
成List
(參考鑄造,因爲它不修改實例),但它不能parse or format numbers本身。
類型轉換不是類型轉換,不要混淆術語。投射意味着將相同的二進制表示重新解釋爲另一種類型的值。在Java中,是轉換,但只在原始數值之間。字符串是一個引用類型,我想你知道這一點。
Java只允許您進行有效的強制轉換,即知道如何製作的轉換。將字符串轉換爲int是無意義的;解析它不是。
您不能將'int'強制轉換爲'boolean'。 – Jeffrey
大聲笑,PHP中太多時間了! –