• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

wchenfeng

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

实验4.4 字符串相等的比较

编写一个Java程序,分边按两种方式定义字符串,用运算符“==”与字符串equals()方法对这些字符串进行比较,使程序运行结果如下:

 

public class sentence {
    public static void main(String[] args)
    {
        String str1="Hello",str2="Hello";
        String str3=new String("Hello");
        String str4=new String("Hello");
        System.out.println("用运算符==进行比较结果如下:");
        if(str1==str2)System.out.println("str1与str2相等");
        else System.out.println("str1与str2不相等");
        if(str3==str4)System.out.println("str3与str4相等");
        else System.out.println("str3与str4不相等");
        if(str3==str2)System.out.println("str2与str3相等");
        else System.out.println("str2与str3不相等");
        System.out.println("调用equals()方法进行比较结果如下:");
        if(str1.equals(str2))System.out.println("str1与str2相等");
        else System.out.println("str1与str2不相等");
        if(str3.equals(str4))System.out.println("str3与str4相等");
        else System.out.println("str3与str4不相等");
        if(str2.equals(str3))System.out.println("str2与str3相等");
        else System.out.println("str2与str3不相等");
    }
}

对于一些可以共享的字符串对象,会先在String池(pool)中查找是否存在相同的String内容。如果有就直接返回,而不是直接创建一个新的String对象,以减少内存的耗用。

当直接使用""来定义一个字符串时,该字符串久会出现在String pool当中。

在Java程序中如果运算符“==”被用于两个引用名称时,它是用于比较两个引用名称是否引用同一对象;

不可以用“==”来比较两个字符串的字符内容是否相等。

 

 当b与c分别引用各自不同的对象,如果要进行比较两个字符串对象的字符值是否相同,要使用equals()方法。

 

posted on 2022-04-12 20:02  王陈锋  阅读(109)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3