在C++中,两个字符串比較的代码能够为:

(string1==string2)

但在java中,这个代码即使在两个字符串全然同样的情况下也会返回false

Java中必须使用string1.equals(string2)来进行推断



补充



假设:

string s1="Hello";

string s2="Hello";

则(s1==s2)=true;

由于他们指向的同一个对象。

假设:

String s1=new String("Hello");

String s2=new String("Hello");

则(s1==s2)=false



假设把其它变量的值赋给s1和s2,即使内容同样,由于不是指向同一个对象,也会返回false。所以建议使用equals(),由于equals比較的才是真正的内容



比如:

String string1=new String( "aaa" );

String string2=new String( "aaa" );

这两个字符串当然应该是相等的。

假设用表达式string1==string2,则该表达式的值为false

假设用表达式string1.equals(string2),则该表达式的值为true

因此应该用string1.equals(string2),在if语句中就是

if(string1.equals(string2)==true) //字符串相等,……



string1==string2,是值相等,并且内存地址也相等,是全然的相等

string1.equals(string2)为true,仅仅是值相等





假设比較字符串的大小使用:str1.compareTo(String str2)





按字典顺序比較两个字符串。该比較基于字符串中各个字符的 Unicode
值。按字典顺序将此
String 对象表示的字符序列与參数字符串所表示的字符序列进行比較。假设按字典顺序此 String 对象位于參数字符串之前,则比較结果为一个负整数。假设按字典顺序此
String 对象位于參数字符串之后,则比較结果为一个正整数。

假设这两个字符串相等,则结果为 0。compareTo
仅仅在方法 equals(Object) 返回 true 时才返回 0。

这 是字典排序的定义。如果这两个字符串不同,那么它们要么在某个索引处的字符不同(该索引对二者均为有效索引)。要么长度不同,或者同一时候具备这两种情况。如 果它们在一个或多个索引位置上的字符不同,如果 k 是这类索引的最小值;则在位置 k 上具有较小值的那个字符串(使用 < 运算符确定),其字典顺序在其它字符串之前。在这样的情况下,compareTo
返回这两个字符串在位置 k 处两个char 值的差,即值:



this.charAt(k)-anotherString.charAt(k)



假设没有字符不同的索引位置,则较短字符串的字典顺序在较长字符串之前。在这样的情况下。compareTo 返回这两个字符串长度的差,即值:

this.length()-anotherString.length()

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

Java中字符串相等与大小比較的更多相关文章

  1. Java中字符串相等与大小比较

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  2. 统计java中字符串,数组,集合大小(长度)

    字符串长度用String.length(); 数组用String[].length; 集合用collection.size();

  3. Java中字符串为什么不以\0结尾

    Java中字符串为什么不以\0结尾 其实这个问题没有什么好说的,Java里面一切都是对象,是对象的话,字符串肯定就有长度,即然有长度,编译器就可以确定要输出的字符个数,当然也就没有必要去浪费那1字节的 ...

  4. 三张图彻底了解Java中字符串的不变性

    转载: 三张图彻底了解Java中字符串的不变性 定义一个字符串 String s = "abcd"; s中保存了string对象的引用.下面的箭头可以理解为"存储他的引用 ...

  5. java中字符串的非空判断

    问题如下:在java 中 字符串为null 如何判断String str;if(str==null) ??str.equal("null") ?? 答:我觉得应该搞清楚字符串对象和 ...

  6. java中字符串String 转 int(转)

    java中字符串String 转 int String -> int s="12345"; int i; 第一种方法:i=Integer.parseInt(s); 第二种方法 ...

  7. 【转】Java中字符串中子串的查找共有四种方法(indexof())

    原文网址:http://wfly2004.blog.163.com/blog/static/1176427201032692927349/ Java中字符串中子串的查找共有四种方法,如下:1.int ...

  8. Java中字符串中子串的查找共有四种方法(indexof())

    Java中字符串中子串的查找共有四种方法(indexof()) Java中字符串中子串的查找共有四种方法,如下:1.int indexOf(String str) :返回第一次出现的指定子字符串在此字 ...

  9. JAVA中字符串函数subString的用法小结

    本篇文章主要是对JAVA中字符串函数subString的用法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 String str; str=str.substring(int begi ...

随机推荐

  1. iPad弹出框

    弹出框是iPad的常用UI元素,即在现有视图上面显示内容,并通过一个小箭头指向一个屏幕对象(如按钮),以提供上下文. 和模态场景一样,弹出框的内容也由一个视图和一个试图控制器决定,不同之处在于,弹出框 ...

  2. 【BZOJ 3229】 3229: [Sdoi2008]石子合并 (GarsiaWachs算法)

    3229: [Sdoi2008]石子合并 Description 在一个操场上摆放着一排N堆石子.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合 ...

  3. BZOJ1018 堵塞的交通(线段树)

    题目很好明白,然后实现很神奇.首先如果考虑并查集的话,对于删边和加边操作我们无法同时进行.然后暴力分块的话,复杂度是O(n sqrt n) ,不是很优.于是看了题解,发现了线段树的神奇用途. 我们维护 ...

  4. [CC-CHEFGRPH]Time to Study Graphs with Chef

    [CC-CHEFGRPH]Time to Study Graphs with Chef 题目大意: 一个有向图可以分成\(n+2(n\le10^{12})\)层,第\(0\)层和第\(n+1\)层有\ ...

  5. 【8.19校内测试】【背包】【卡特兰数】【数位dp】

    早上随便搞搞t1t3就开始划水了,t2一看就是组合数学看着肚子疼...结果t1t3都a了??感天动地. 从小到大排序,从前到后枚举i,表示i是整个背包中不选的物品中代价最小的那个,即i不选,1到i-1 ...

  6. bzoj 1012 BST 支持插入,区间最大

    水... /************************************************************** Problem: 1012 User: idy002 Lang ...

  7. MSSQL SELECT(刚刚)新插入到表中的那条记录

    假设对表 TXxxxxxxx 表新插入一条记录,然后要 SELECT 出刚刚插入的这条记录.可使用 SCOPE_IDENEITY(); 处理.具体代码参考如下: INSERT INTO TXxxxxx ...

  8. 【原创】MySQL+MyEclipse+对象映射文件,schema与category的关系

    (一) 1.映射文件的类如下写法:class name="com.sanqing.po.SysUser" table="sys_user"  catalog=& ...

  9. VK Cup 2016 - Qualification Round 2 A. Home Numbers 水题

    A. Home Numbers 题目连接: http://www.codeforces.com/contest/638/problem/A Description The main street of ...

  10. hdu 5207 Greatest Greatest Common Divisor 数学

    Greatest Greatest Common Divisor Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/ ...