在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. XAML实时显示更新插件LiveXAML

     XAML实时显示更新插件LiveXAML LiveXAML是Visual Studio的第三方扩展插件.该插件可以从Visual Studio Marketplace下载,也可以从官网下载http: ...

  2. Web应用程序信息收集工具wig

    Web应用程序信息收集工具wig   很多网站都使用成熟的Web应用程序构建,如CMS.分析网站所使用的Web应用程序,可以快速发现网站可能存在的漏洞.Kali Linux新增加了一款Web应用程序信 ...

  3. Hibernate 过滤查询(hibernate过滤器的使用)

    我们在开发过程中过滤查询使用的还是挺多的,今天来学习一下hibernate的过滤器的使用,首先学习在配置文件中如何使用,然后再介绍如何使用注解配置. 1.使用配置文件配置过滤器  1)首先我们使用my ...

  4. 【BZOJ 3659】 3659: Which Dreamed It (Matrix-Tree&BEST theorem )

    3659: Which Dreamed It Time Limit: 20 Sec  Memory Limit: 1024 MBSubmit: 134  Solved: 41 Description ...

  5. 【BZOJ 4171】 4171: Rhl的游戏 (高斯消元)

    4171: Rhl的游戏 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 74  Solved: 33[Submit][Status][Discuss] ...

  6. 51nod1376 最长上升子序列的数量

    机房的人问我树状数组怎么做这题...... 树状数组维护$len, num$表示$LIS$的长度和数量即可 复杂度$O(n \log n)$ 注:$O(n \log n)$二分+单调栈才是真神仙 具体 ...

  7. 快速傅里叶变换(FFT)相关内容汇总

    (原稿:https://paste.ubuntu.com/p/yJNsn3xPt8/) 快速傅里叶变换,是求两个多项式卷积的算法,其时间复杂度为$O(n\log n)$,优于普通卷积求法,且根据有关证 ...

  8. CentOS6 下编译安装 MySQL 5.6.26

    CentOS6下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.26. 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | ...

  9. Windows UWP开发系列 – 3D变换

    在Win8.1中,引入了一个PlaneProjection可以实现3D变换,但它的变换方式比较简单,只能实现基本的旋转操作.在Windows 10 UWP中,引入了一个更加强大的3D变换Transfo ...

  10. Visual Studio 2013在线文档地址备案

    Visual Studio 2013还没有离线的帮助文档,这里做个记录,以备后面使用. 地址:http://msdn.microsoft.com/zh-cn/library/dd831853.aspx