public class CharToInt{
public static void main(String[] args){
char ch='d';
int a=Integer.parseInt(""+ch);//红色部分为什么要加上""+,才可以运行?
System.out.println(a);
}
}
public static void main(String[] args){
char ch='d';
int a=Integer.parseInt(""+ch);//红色部分为什么要加上""+,才可以运行?
System.out.println(a);
}
}
你传char型当然要先转为String了
因为Integer不支持对char类型的转换,""+是把char强转成了String类型。但" " +(双引号中打个空格就不能运行了!why?)
String 和 Integer相互转换是有条件的,即在ASCII码中能对应。空格也是字符,“ b”在ASCII码中找不到对应的整数。
""+ch表示将ch转换成parseInt接受的参数类型----String对象
而ch是char型 ""+ch 这个表达式返回的是String
也可以使用以下的方式char s='a';
String string=Character.toString(s);
先转换成字符串。然后使用parseInt(String str)方法。
关键还是这个parseInt(String str)里的参数
建议多看看api
你定义的是char