黑马程序员技术交流社区

标题: new Integer 用法 [打印本页]

作者: 陈少文    时间: 2012-8-11 21:48
标题: new Integer 用法
String s1 = "abc";
String s2 = "abcde";
int num = new Integer(s1.length()).compareTo(new Integer(s2.length()));

帮忙看一下,这里的new Integer()  是什么意思。为什么要用new Integer().
当用compareTo时,x.compareTo(y)  x,y是需要是什么数据类型  
作者: 张雪磊    时间: 2012-8-11 21:53
compareTo比较的是此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。
s1.length()返回的是字符串的长度是整型的,需要把他们用基本数据类型类包装类转换成对象,才能用compareTo比较

作者: 郑正华    时间: 2012-8-11 22:00
本帖最后由 郑正华 于 2012-8-11 22:05 编辑

因为这是一个通用的接口,所以定义方法时是比较当前对象与待比较对象是否相等,由于该通用接口不可能知道你要比较的具体对象类型,所以这里需要的一个参数类型是Object。
int num = new Integer(s1.length()).compareTo(new Integer(s2.length()));
这行代码是得到s1和s2的长度,然后将这两个长度封装成对象,然后用compareTo方法对两个对象进行比较!
作者: 焦晨光    时间: 2012-8-11 22:11
String s1 = "abc";
String s2 = "abcde";
int num = new Integer(s1.length()).compareTo(new Integer(s2.length()));

帮忙看一下,这里的new Integer()  是什么意思。为什么要用new Integer().
new Integer(x) x是基本类型数据,是将基本类型数据转换成引用类型,可以被对象使用和操作
compareTo方法是对对象进行操作,所以必须将基本类型数据转换成引用类型,才可以使用compareTo方法


当用compareTo时,x.compareTo(y)  x,y是需要是什么数据类型  
compareTo是Compareable接口的一个方法,主要用于判断创建对象的大小关系,该对象要实现compareable接口
x和y的类型,要看你要对什么类型对象进行处理,一般用的最多的是String,
因为String类型已经实现了compareTo()方法,可以直接用。




作者: 贾成龙    时间: 2012-8-11 22:22
在Integer中要传Integer;如果实现comparable中的comparetor的方法时要看泛型限定了!下面是图片!希望对你有帮助!

a.jpg (42.38 KB, 下载次数: 81)

a.jpg

`D6ILYF2%`G9(4WZ1SUXNIJ.jpg (21.68 KB, 下载次数: 69)

`D6ILYF2%`G9(4WZ1SUXNIJ.jpg

作者: 张扬123    时间: 2012-8-12 17:18
new Integer()的意思是将基本数据类型转成引用数据类型。因为compareTo要对对象进行操作,所以使用new Integer()。
compareTo()中x,y常见参数是String类型。
再给楼主说一个,compareTo传入String类型的时候,返回的值是按照前者跟后者在ASCII表里面相减的值。比如前者是c,后者是a,        c是99,a是97.相减得2.返回值就是2.

作者: 张扬123    时间: 2012-8-12 17:18
new Integer()的意思是将基本数据类型转成引用数据类型。因为compareTo要对对象进行操作,所以使用new Integer()。
compareTo()中x,y常见参数是String类型。
再给楼主说一个,compareTo传入String类型的时候,返回的值是按照前者跟后者在ASCII表里面相减的值。比如前者是c,后者是a,        c是99,a是97.相减得2.返回值就是2.





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2