黑马程序员技术交流社区

标题: 字符串比较不能直接用大小于号,一直不太清楚 [打印本页]

作者: guohuaxin    时间: 2015-8-5 22:58
标题: 字符串比较不能直接用大小于号,一直不太清楚
21.        下面程序运行的结果是(   )
  String str1= “1”, str2=”2”;
  if(str1==str2)
           System.out.println(“ABC”);
  else if(str1<str2)
           System.out.println(“DEF”);
  else
           System.out.println(“GHJ”);

a)        ABC
b)        DEF
c)        GHJ
d)        编译失败

作者: 大木木    时间: 2015-8-5 23:40
貌似用equals可以解决
作者: 真实姓名被注册    时间: 2015-8-5 23:42
字符串比较大小用compareTO(),或者自定义比较器
作者: burningzzy    时间: 2015-8-5 23:54
基本数据类型才直接能用==,引用数据类型用==是比较地址值,String 用equals进行比较。
作者: tromo    时间: 2015-8-6 00:19
==可以用的比较的是地址
作者: codersun    时间: 2015-8-6 01:02
==比较的是两个的值,String是引用类型,引用类型的变量名的值是地址,如果要比较其指向的对象得值就需要使用本类的equals方法,当然如果本类没有重写Object类的equals方法,equals比较的也是地址值。
作者: 刘远东    时间: 2015-8-6 06:21
我是这么理解的.大于和小于号 但是没有代码体现啊.
作者: guohuaxin    时间: 2015-8-17 21:23
懂了,学知识
作者: 樱花飘过    时间: 2015-8-17 22:42
此题选择d,字符串有+和==能用,其他基本运算符是用不了 的,而+也只是起到连接符的作用,要是判断大小可以用compareTo方法




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