零基础学Java第2版
上QQ阅读APP看书,第一时间看更新

6.5 常见疑难解答

6.5.1 “equals”和“==”的区别

答:如果操作两边都是对象句柄,就比较两个句柄是否指向同一个对象。如果两边是基本类型,比较的就是值。

“equals”比较的是两个对象的内容,如果不重载“equals”方法,自动调用object的“equals”方法,则和“==”样。在JDK中像“String”、“Integer”,默认重载了“equals”方法,则比较的是对象的内容。在实际编程中,建议使用“equals”方法。

6.5.2 String类为何被定义成final约束

答:主要是考虑“效率”和“安全性”的缘故。若“String”允许被继承,则其频繁地被使用,可能会降低程序的性能,所以“String”被定义成“final”。

6.5.3 char类型如何转换成int类型,int类型如何转换成字符串

char类型转换成int类型的代码如下所示。

char c = 'A';
int i = c;
//反过来只要作强制类型转换就行了
c =(char)I;

将整数int转换成字串String有两种方法:

(1) String s=String.valueOf(i);

(2) String s=Integer.toString(i);