class test02
{
public static void main(String[] args)
{
char s2='a';
String s1="12";
double x=Double.parseDouble(s1);
int y=(int)s2;//Integer.parseInt(s2);
System.out.println(x+y);
}
}结果是109.0
如果使用Integer.parseInt(s2);
却会报错但是下面的代码
class test02
{
public static void main(String[] args)
{
String s1="0.5",s2="12";
double x=Double.parseDouble(s1);
int y=Integer.parseInt(s2);//(int)s2;
System.out.println(x+y);
}
}
输出结果是12.5 使用(int)就会报错这是为什么呢
{
public static void main(String[] args)
{
char s2='a';
String s1="12";
double x=Double.parseDouble(s1);
int y=(int)s2;//Integer.parseInt(s2);
System.out.println(x+y);
}
}结果是109.0
如果使用Integer.parseInt(s2);
却会报错但是下面的代码
class test02
{
public static void main(String[] args)
{
String s1="0.5",s2="12";
double x=Double.parseDouble(s1);
int y=Integer.parseInt(s2);//(int)s2;
System.out.println(x+y);
}
}
输出结果是12.5 使用(int)就会报错这是为什么呢
static int parseInt(String s)
将字符串参数作为有符号的十进制整数进行分析。
static int parseInt(String s, int radix)
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
上面那题:
s2是char,char虽然表示字符,但依然可以强制类型转换为整数。'a'转换后的整数值就是其码97。
若将'a'字符送给parseInt,因为char不是String,当然报错。这里用parseInt("a",16)可以得到10.下面那题:
s2是String了,强制类型转换为int就不行了。
Integer a = new Integer(10);
Integer b = new Integer(10);
System.out.println(a==b); ----false
System.out.println(a.equals(b)); ---- trueInteger是类类型的。
其他的说不好,还是多看看书吧。希望能帮到你