这是一片写给初学者的文章,也是本人第一次发表文章,请各位高手不要见笑能帮我指出其中的错误之处。
这是我在javaworld网站上看到的一篇文章,所以顺便翻译一下,当然可能和原文档差别较大,不是按原文直译的,是看完后自己的一些理解,勉强算是原创吧。文章的英文标题是原文的标题,中文标题不是它的翻译,而是本人的想法。如果您的英文不错,可以到网站上看一下原文
http://www.javaworld.com/javaworld/javaqa/2001-11/02-qa-1109-boolean.html?
希望这片这篇文章能给初学者一点帮助和启迪:
在对本文理解的基础上,大家必须明确在java语言中String变量是对象变量。本文正是对这个问题最好的证明。另外,其中使用了对象封装器(将直接变量基本类型转化为对象)将布尔值转化为一个Boolean对象。在文章中对这两中变量的转化主要使用到了对象封装器和对象的几个静态方法(static method),关于这些方法和对象封装器的用途及用法这里就不做累赘啦,如果有问题就请您自己多查阅一些资料了,也可以给我发邮件讨论一下。
我的邮箱是:
原文中对将boolean值转化为字符串提出了两种方法,并进行了比较。
第一种方法是:
boolean bool = true;
String s = new Boolean(bool).toString();//将bool利用对象封装器转化为对象
s.equals("true");
/* 其中,toString方法是一个继承方法。java中所有的类都是object的继承,object的一个重要方法就是toString,用于将对象转化为字符串。*/
第二种方法是:
boolean bool = true;
String s = String.valueOf( bool );
首先,从代码长度上讲第二种方法明显要比第一种方法简洁;其次,第一种方法在转化过程中多引入了一个完全没有必要的对象,因此,相对第二种方法来说这就造成了内存空间的浪费,大大减慢了运行速度。所以,推荐使用第二种方法。
从这个简单的例子,可以看出对象变量的优势,以及对对象变量一些基本方法了解的必要性,关于这点作者提出了一个很好的建议,就是对jdk自带文档阅读。同时,也提醒广大初学者在编程是应该多思考多比较,灵活的语言往往在解决一个问题有多种方法,应该就原码的效率进行比较争取找到最好最快的解决办法,这一是编程的一种艺术。