Java字符串比较

来源:互联网 发布:php读取txt文件前 编辑:程序博客网 时间:2024/06/05 01:07

/**
*
equals()方法是比较两个字符串你的对象值是否相等;
==是比较两个字符串对象引用(即地址)是否相等;
由于字符串常量不是变量,java在在编译时在对待字符串常量处理有一个优先处理策略,相同的字符串只储存一份,所以下面的hobby和hobby3
指向的是同一字符串
值得注意的是hobby3是new String(“abc”),产生了一个新字符串对象
*
*/

public class StringTest {      public static void main(String[] args) {            //定义字符串            String hobby1="abc";            String hobby2 =new String("abc");              String hobby3="abc";            //输出字符串            System.out.println("hobby1:" +hobby1 );            System.out.println("hobby2:" + hobby2);            System.out.println("hobby3:" + hobby3);            if(hobby1.equals(hobby2))                System.out.println("hobby1和hobby2的对象值相等");            else                System.out.println("hobby1和hobby2的对象值不等");            if(hobby1==hobby2)                System.out.println("hobby1和hobby2的对象引用相等(即地址相等)");                else                    System.out.println("hobby1和hobby2的对象引用不相等(即地址不相等)");            if(hobby1==hobby3)                System.out.println("hobby1和hobby3的对象引用相等(即地址相等)");            else                System.out.println("hobby1和hobby2的对象引用不相等(即地址不相等)");                }}   

运行结果:

hobby1:abc
hobby2:abc
hobby3:abc
hobby1和hobby2的对象值相等
hobby1和hobby2的对象引用不相等(即地址不相等)
hobby1和hobby3的对象引用相等(即地址相等)

原创粉丝点击