您的位置:首页 > 编程语言 > Java开发

Java学习笔记-== compare 和 equals

2016-12-24 00:13 218 查看
这个功课是为了下一篇数据结构开篇做准备的,因为数据结构里面会涉及到比较,所以自己先复习总结了一下这三个比较的区别.


1. ==

==主要是对两个变量的值进行比较,比如

int a=1;
int b=2;
int c=2;
System.out.println((a==b)?"a=b":"a!=b");
System.out.println((c==b)?"c=b":"c!=b");


一般用于八种基本数据类型的比较(boolean、byte、char、short、int、float、double、long)。

当硬要让==字符串进行比较的时候,它比较的是地址,即使字符串相同,但是地址不同,也是不相等。例子稍后总体给出。

2.equals

使用对对象的内容进行比较,一般用于字符串内容的比较。

当字符串内容相同但是地址不同时,两者还是equals。

3.compareTo

按字典顺序比较两个字符串,并且是逐个进行比较,返回的是第一个不相同位置字母ASCII码顺序的差值。简单小程序模拟结果:

public static void main(String args[]){

int a=1;
int b=2;
int c=2;
System.out.println((a==b)?"a=b":"a!=b");
System.out.println((c==b)?"c=b":"c!=b");
String s1=new String("howisa");
String s2=new String("howisa");
System.out.println((s1.equals(s2))?1:2);
System.out.println((s1==(s2))?1:2);
String s3=new String("hawisa");
System.out.println(s3.compareTo(s2));
}

程序编译结果:

a!=b
c=b
1
2
-14
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: