想在字符串中,要是相比较两个字符串常用的有几种方法:1、==;2、equals();3、 equalsIgnoreCase();4、compareTo();
第一种方法:==是用来比较两个字符串的地址是否相等;
第二种方法:在没被重写的情况还是==对比(Object里);
第三种方法:与第二种方法类似,但是不区分大小写;
第四种方法:比较两字符串的大小并返回两字符串的长度差或者第一个不同的字符的unicode码值差。
下面我们看一下简单的实例来说明;
第一种方法:==
public class String_1 {
public static void main(String []arg){
String a="abcdef";
String b="abcdef";
if(a==b){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
public class String_1 {
String a="abcd";
}
/////////////
public class String_2 {
String b="abcd";
}
///////////////
public class Text {
public static void main(String []arg){
String_1 st1=new String_1();
String_2 st2=new String_2();
if(st1.a==st2.b){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
//上面的输出的结果都是:a==b
为什么上面的输出时a==b呢?因为在Java中,数值相同的常量是放在同一内存地址,将其赋值给a、b时候就是把字符串的内存地址引索给了他们。所以a,b比较实质是比较相同的地址。
再看下面:
public class Text {
public static void main(String []arg){
String a=new String(a="abcd");
String b=new String(b="abcd");
if(a==b){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
这一段代码的输出结果是:a!=b;这是因为a,b是两个对象的存放,两对象的地址不一样。
第二种方法:equals();
public class Text {
public static void main(String []arg){
String a=new String(a="abcd");
String b=new String(b="abcd");
if(a.equals(b)){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
public class Text {
public static void main(String []arg){
String a="abcd";
String b="abcd";
if(a.equals(b)){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
上面的输出结果都是:a==b;在上面比较==时候已经看到两段代码的结果是不一样的,是因为他们的地址引索不一样,而equals();比较的结果却是一样的,是因为他们的值都一样。当他们字符串的赋值不一样时候
public class Text {
public static void main(String []arg){
String a="abcd";
String b="Abcd";
if(a.equals(b)){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
输出的结果:a!=b;
方法三:equalsIgnoreCase();
他是比较两字符串,不区分大小写;
public class Text {
public static void main(String []arg){
String a="abcd";
String b="Abcd";
if(a.equalsIgnoreCase(b)){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
输出的结果是:a==b;
public class Text {
public static void main(String []arg){
String a="abcd";
String b="bcd";
if(a.equalsIgnoreCase(b)){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
输出结果是:a!=b;
第四种方法:compareTo();这是用来比较当前字符串与摸字符串的大小,返回两字符串的长度差或者第一个出现不同的字符的unicode值之差。
public class Text {
public static void main(String []arg){
int n;
String a="abcd";
String b="abcdefgh";
n=a.compareTo(b);
System.out.println(n);
}
}
输出结果:-4;
public class Text {
public static void main(String []arg){
int n;
String a="abcd";
String b="abcdefgh";
n=b.compareTo(b);
System.out.println(n);
}
}
输出结果:0;
public class Text {
public static void main(String []arg){
int n;
String a="abcd";
String b="abcdefgh";
n=b.compareTo(a);
System.out.println(n);
}
}
输出结果:4;
public class Text {
public static void main(String []arg){
int n;
String a="abcdefgh";
String b="Abcdefgh";
n=b.compareTo(a);
System.out.println(n);
}
}
输出结果是:-32;
小弟初学Java不到两个月,有啥错误的或者有啥不足的请求大神、大牛指出
分享到:
相关推荐
计算机后端-Java-Java核心基础-第14章 面向对象06 15. 总结==与equals().avi
if (tbx.Text.Substring(tbx.Text.Length - 1).Equals(".")) btn_dot.Enabled = true; tbx.Text = tbx.Text.Substring(0, tbx.Text.Length - 1); } else { tbx.Text = "0"; } }; //正负号点击事件 btn_pn...
if (this._dataAdapter.SelectCommand.Connection.Equals(this._transaction.Connection)) this._dataAdapter.SelectCommand.Connection = null; } if (this._dataAdapter.InsertCommand != null) { if (this...
equals(Object) 与 == 的区别
Java面试题07.==和equals的区别.mp4
主要介绍了java 中String.equals和==的比较的相关资料,需要的朋友可以参考下
java中equals和==的区别.doc java中equals和==的区别.doc
if (ieElement.tagName.ToUpper().Equals("INPUT")) { input = ((mshtml.HTMLInputElementClass)ieElement); if (input.name == "username") { //Response.Write(input.value); input.value = ""+name+""; ...
javahashcode()和equals()和==的介绍和区别.pdf
本文中详细的阐述了Java中经常遇到的equals、hashcode以及“==”号三者之间的区别
有许多人学了很长时间的Java,但一直不明白hashCode方法的作用以及equals()和==的区别,我来解释一下吧。首先,想要明白hashCode的作用,你必须要先知道Java中的集合。总的来说,Java中的集合(Collection)有两类,...
能够加强对java中equals与==区别的理解。
主要给大家介绍了关于Java中比较运算符compareTo()、equals()与==的区别及应用的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
关于重写equals,hashcode以及compareTo方法!
if(this.valiform.Stu_educational.SelectedItem.Equals("--请选择学历--")) { MessageBox.Show("请选择最高学历!@_@"); return false; } if(this.valiform.Stu_NativePlace.Text == "") {...
然后需要重写 Equals 方法。 public override bool Equals(object obj) { if (!obj.GetType().Equals(typeof(Customer))) { return false; } else { Customer answer = (Customer)obj; return (answer.ID ==...
姓名.Equals(string.Empty)) { GetName(message); Clients.Client(Context.ConnectionId).addMessage("用户" + 你.姓名 + "你好", contextId); } else { Clients.Client(Context.ConnectionId).addMessage...
join bc in db.BookCategory on b.ID equals bc.BookID where bc.CategoryID == categoryID orderby b.PublishDate descending select b; ///设置dgvBook控件的数据源 dgvBook.DataSource = result; dgvBook....
2.javaequals()方法.zip2.javaequals()方法.zip2.javaequals()方法.zip2.javaequals()方法.zip2.javaequals()方法.zip2.javaequals()方法.zip2.javaequals()方法.zip2.javaequals()方法.zip2.javaequals()方法.zip2....