在java中进行类型转换

nr5*_*nr5 3 java

int n ;
n= (int)( javax.swing.JOptionPane.showInputDialog(null,"enter a 3 digit no."));
Run Code Online (Sandbox Code Playgroud)

为什么上面给出了错误[required int,found string],下面的一个工作正常?

int n ;
n= Integer.parseInt( javax.swing.JOptionPane.showInputDialog(null,"enter a 3 digit no."));
Run Code Online (Sandbox Code Playgroud)

Dav*_*ess 9

Integer.parseInt不使用强制转换而是使用简单算法将字符串中的数字解释为数字.转换由JVM直接在原始值或对象引用上的编译器上完成.它可以把4.54(类型转换,因为它改变了基础值),并ArrayList进入List(参照铸造,因为它不修改实例),但它不能解析或格式化数字本身.


Mar*_*nik 8

类型转换不是类型转换,不要混淆条款.转换意味着将相同的二进制表示重新解释为另一种类型的值.在Java中转换,但只有原始数值之间.String是一个引用类型,我猜你知道.