认识String之一:比较String

原创 2004年10月12日 16:20:00

  java.lang.Object有一个equals类用于比较俩个类是否相等,因此比较俩个String是否相等很简单,比如:
  String str1 = “hello quanjizhu“;
  String str2 = “hello quanjizhu“;
  System.out.println(str1.equals(str2)); 
  这时,肯定会有人指出,其实比较str1和str2还可以直接用==来验证俩着相等:
  System.out.println(str1==str2);
  这是因为str1,str2都是指向的同样的实例,java编译的时候,会将常量“hello quanjizhu“放到String pool里(我想应该是为了节约存储空间或者提高性能),因此,结果是str1,str2都是指向同样的实例。同样 String str3 =“hello “+“quanjizhu“;在编译的时候会优化成String str3 = “hello quanjizhu“;也是指向同样的实例。再看一个例子
  String var = “quanjizhu“;
  String str4 = “hello “+var;
  System.out.println(str1==str4)的结果是什么呢?输出结果是false,证明了俩着不是指向同一实例,换用一种定义方法:str4 = (“hello “+var4).intern();intern()方法告诉编译器将此结果放到String pool里,因此,输出结构将是true;
   不过你用构造器来初始化String类的时候,则又是另外的情况了
   String str5 = new String(“hello quanjizhu”);
   System.out.println(st1==str5);结果将是flase.
  

 

java中String的比较

看例子:例子A:   String str1 = "java";   String str2 = "java";   System.out.print(str1==str2);地球上有点Java基础的...
  • flyjimi
  • flyjimi
  • 2008年07月13日 00:32
  • 64279

Java比较String ==和equals() 解析

先看一个例子 equals() 比较Stringpublic class TestString { public static void main(String[] args) { ...
  • never_cxb
  • never_cxb
  • 2015年08月02日 15:13
  • 1361

String类型的比较(为什么比较字符串是否相等时不用=号用equals()的)

class StringDemo { public static void main(String[] args) { char[] msg = {'h','e','l','l...
  • major_zhang
  • major_zhang
  • 2017年02月07日 16:57
  • 1109

String 类型 日期时间大小的比较

public static int compare_date(String DATE1, String DATE2) {                           DateFormat df...
  • qiunian144084
  • qiunian144084
  • 2017年09月08日 11:27
  • 535

JavaScript String类常用方法比较

转自:http://hi.baidu.com/%C5%ED%BD%F0%BD%F0%BB%D4%BB%D4/blog/item/8789010433f42613738da5e2.html JS对...
  • xanxus46
  • xanxus46
  • 2012年06月24日 13:38
  • 3522

比较两string对象字符串的大小和其长度的比较

一:比较字符串的大小 定义:在C++中定义了几种用于比较字符串的运算符,用于逐一比较string对象中的字符,并且有大小写敏感。并且定义了两字符串比较的规则:两字符串从第一个字符开始比较,如果前n个...
  • D_zhangzehou
  • D_zhangzehou
  • 2015年10月27日 10:50
  • 7043

String的几种比较方法耗时对比

本文测试的字符串比较方法有: string.Compare : 文档定义:比较两个字符串并返回其相对排序顺序的指示。 Compare会通过传递进来的文化信息来调用对应的比较。 文化信息Cult...
  • LI5852258
  • LI5852258
  • 2017年04月21日 16:09
  • 2363

js中String类型的数值比较大小

string没转换就拿去比较,结果是很头疼的 5.002
  • u013050175
  • u013050175
  • 2014年07月08日 17:49
  • 511

C风格字符串和C++string类对比 使用实例

一.C风格字符串 ◆ 1、字符串是用字符型数组存储的,字符串要求其尾部以’\0’作为结束标志。如:     char string[ ]=”C++ programming language”; ...
  • sdnu111111111
  • sdnu111111111
  • 2014年07月28日 14:50
  • 2147

String类比较大小

/* * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. ...
  • qiuxuewei2012
  • qiuxuewei2012
  • 2013年05月05日 22:39
  • 1951
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:认识String之一:比较String
举报原因:
原因补充:

(最多只允许输入30个字)