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

来源:2-4 Java 中的 String 类常用方法 Ⅱ

慕斯9368514

2018-03-23 22:09

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);

}

}


写回答 关注

2回答

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

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

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

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

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


    慕后端915...

    不好意思,打错字,是“基本类型(基本数据类型)”,不是“基础类型”

    2018-03-24 00:36:36

    共 1 条回复 >

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

    这里能用equals吗


    有态度的网友 回复慕后端915...

    终于看到一个靠谱的了,赞一个。

    2018-07-27 17:24:53

    共 2 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题