Java学习笔记-== compare 和 equals

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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值