问答详情
源自:2-4 Java 中的 String 类常用方法 Ⅱ

双等号==与equals()的区别?==是判断地址是否相同,那么这里怎么能用双等号呢?

package string_;


public class panduana {

public static void main(String[] args) {

String a=new String("LKAIHAKDJLADJAKAALA");

//计算字符串a包含字母D个数

int count=0;

for(int i=0;i<a.length();i++) {

char c=a.charAt(i);

/*==:判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象.


equals():比较存储在两个字符串对象中的内容是否一致.*/

if(c=='D') {

count++;

}

}

System.out.println(count);

}

}


提问者:慕斯9368514 2018-03-23 22:09

个回答

  • 慕后端9158070
    2018-03-24 00:34:07
    已采纳

    对于 == (双等号)在不同情况下代表不同功能,当==前后都是引用类型,则符合

    /*==:判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象.equals():比较存储在两个字符串对象中的内容是否一致.*/

    若是基础类型,则含义变为 判断变量值与是否相同。

    语言组织得不太好,希望能帮到你


  • 慕斯9368514
    2018-03-24 09:09:28

    这里能用equals吗