Java中关于强制类型转化的问题

public static void main(String[] args) {
int w = new Integer(args[0]).intValue();
int h = Integer.parseInt(args[1]);
//int h = Integer.valueOf(args[1]).intValue();
System.out.print(h+" "+args[1]);····}输入了参数3输出结果为:3 3而在下代码中:public class asd {
public static void main(String[] args) {
char a = '2';
int i=(char)a;
System.out.println(i);
}
}输出为:50想知道1、String与char有没有根本的区别,String是否完全等于多个Char的集合?2、int i=(char)a这种转换方式与包装类转换"int h = Integer.parseInt(args[1]);"的详细运算过程区别?望高手指点!!

char是八种基本类型中的一种,值直接存储在栈内存中,它有封装类Char
String是引用类型,指向内存中的字符串对象地址,且String类型采用不变模式,改变值的同时,会新建一块内存来存放新的字符串,然后指向这个地址。
String不是多个Char的集合,但是它可以和Char数组相互转换
String对象的toCharArray可以转换成Char的数组,通过new String(char[])也可以将字符串数组转换成String

int i=(char)a 是将a的Ascii值赋给i, a可以为字符

"int h = Integer.parseInt(args[1]);"
调用了封装类的类型转换方法,如果args[1]里面的值不是整数的话,会抛非法参数异常,arg[1]一定要是数字

这些都是非常基础的java知识,想要好java,j2se基础一定要扎实
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-24
1、肯定是有区别的,char是基本类型,String是封装了字符串操作的对象,String的单个元素是Char,可以理解为它是封装了多个char的集合对象。

2、int i = (char)a这个是把字符a的ASCII码值转赋给i,int h = Integer.parseInt(args[1]),这个把这个字符串以数字的形式解析出来,比如"123"得到数字123,一个字符的ASCII码不等于它所表现的数字,所以'0' != 0,这个是关键。
第2个回答  2013-07-24
String是一个封装类
比较有趣的是"字符串"加上点之后出现一系列String方法

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网