嘉定都市网

标题: [原创]问一下terry!!关于字符串比较!! [打印本页]

作者: [二孬]    时间: 2004-2-23 21:05
标题: [原创]问一下terry!!关于字符串比较!!
java里面,字符串比较用那个函数??

请指点一下,帮助上面没查到
作者: gundam_xx    时间: 2004-2-24 11:19
如果要比较字符串的内容应该使用equals()函数,如下例:



  1. package base;

  2. public class StringTest {
  3.   public static void main(String[] args) {
  4.     String A = "test";
  5.     String B = "test";
  6.     String C = new String("test");
  7.     String D = new String("test");
  8.     System.out.println("A==B?" + (A == B));
  9.     System.out.println("C==D?" + (C == D));
  10.     System.out.println("C==A?" + (C == A));
  11.     System.out.println("C equals D?" + (C.equals(D)));
  12.   }
  13. }

复制代码


输出结果:
A==B?true
C==D?false
C==A?false
C equals D?true


引自“  http://www.matrix.org.cn/forum_view.asp?forum_id=1&view_id=1142  ”
作者: terry    时间: 2004-2-24 12:13
用String a="test"这种方法生成会先到内存缓冲池中找有没有这样的对象,有就不生成新的对象了,所以a==b是true,他们是对同一个对象的引用。

而用构造函数生成的每次生成新对象自然不可能相等。

另外比较要用对象的equals方法不能用==,因为==比的是引用。
作者: [二孬]    时间: 2004-2-25 17:21
明白,谢谢




欢迎光临 嘉定都市网 (http://www.jiading.com.cn/) Powered by Discuz! X3.1