首页 > 编程知识 正文

java找出字符串中出现次数,java中字符串比较大小

时间:2023-05-05 14:24:28 阅读:23514 作者:216

在java中生成字符串有两种方法。

1、String s1='zifuchuan ';

String s2='zifuchuan ';

2、字符串S1=新字符串(zifu chun ) )。

strings2=新字符串(zifu chuan ) )。

1 .用第一种方法创建的两个字符串

1、String s1='zifuchuan ';

String s2='zifuchuan ';

此时的内存映射为

第一种情况的内存映射

此时,如果使用"=="比较两个字符串,则结果为true。 带有“”的对象存储在字符串常量池中,因为如果尝试创建相同的字符串,对该字符串的引用将直接指向该字符串,而不是创建新字符串。 此外,字符串常量池中的对象不会被java垃圾收集器回收。 此时,两个引用指向字符串常量对象,因此它们是相同的。 因为内存地址相同。

2、用第二种方法定义的两个字符串

2、字符串S1=新字符串(zifu chun ) )。

strings2=新字符串(zifu chuan ) )。

此时的内存映射如下。

第二种情况的内存映射

这是因为S1和S2分别指向完全不同的两个对象,其存储器地址也不同,所以此时用“==”比较两个字符串是否相等是不正确的。 因为String对象还包含字符串对象,所以实际上在这里创建了四个对象。

因此,要比较两个字符串是否相等,必须在equals方法中进行比较。 因为String已经重写了equals方法,所以使用equals时,建议在. equals(zifuchuan ) (而不是. equals(zifuchuan ) )中引用

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。