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
相关文章推荐
- java核心技术学习笔记8---equals()方法和hashCode()方法
- JAVA学习笔记(四)substring、System.exit(1)、java.text.SimpleDateFormat、==、equals、StringBuffer、SQl动态查询
- Java学习笔记--“==”与"equals"
- JAVA学习笔记_Junit测试简单使用_assertEquals
- JAVA学习笔记32——hashCode和equals方法+set接口
- 你不知道的Java学习笔记11--“equals()”与“==”的区别
- Java学习笔记-解析Java对象的equals()和hashCode()的使用
- Java学习笔记之Object类以及equals()方法
- java学习笔记-equals
- 【Java学习笔记之二十九】Java中的"equals"和"=="的用法及区别
- Java学习笔记——equals()方法总结
- Java学习笔记8:覆盖equals时总是要覆盖hashCode
- Java学习笔记——双等号和equals的区别
- Java学习笔记(44)----------探索equals()和hashCode()方法
- 多态Object类equals方法学习笔记ObjectDemo.java
- Thinking in Java 4th学习笔记--Java中的双等号(==)比较操作符与equals()方法
- Java学习笔记之==与equals
- Java学习笔记6:覆盖equals时总是要覆盖hashCode
- Java学习笔记五:Object类,equals ==,toString
- Java中对象的比较 == 和 equals() -Java 学习笔记 (15)