Jayusxx 2024-03-15 09:57 采纳率: 85.7%
浏览 2
已结题

java中字符串截取遇到的问题

请问这种情况下字符串s1是el,字符串l也是el,那么为什么结果是false呢?

img

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-03-15 09:58
    关注

    引自免费微信小程序:皆我百晓生

    在Java中,substring方法用于从原始字符串中提取一个子字符串。根据您提供的代码片段:

    String s = "hello";
    String l = "el";
    String s1 = s.substring(1, 3);
    System.out.println(s1); // 输出 "el"
    System.out.println(s1 == l); // 输出 "false"
    

    这里,s1 是通过从字符串 s 中截取索引从 1(包含)到 3(不包含)的字符得到的新字符串,结果为 "el"。

    l 字符串也是 "el"。

    但是,在Java中,使用 == 运算符比较两个字符串时,实际上是在比较它们的引用是否指向同一个对象,而不是它们的内容是否相同。

    所以即使 s1l 的内容都是 "el",但它们是两个不同的字符串对象,因此 s1 == l 返回的是 false

    要比较两个字符串的内容是否相等,应该使用 equals() 方法或 equalsIgnoreCase() 方法:

    System.out.println(s1.equals(l)); // 输出 "true"
    

    这样比较的结果会基于字符串的内容进行判断,而非对象引用。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月23日
  • 已采纳回答 3月15日
  • 创建了问题 3月15日

悬赏问题

  • ¥20 要做柴油机燃烧室优化 需要保持压缩比不变 请问怎么用AVL fire ESE软件里面的 compensation volume 来使用补偿体积来保持压缩比不变
  • ¥15 算能的sail库的运用
  • ¥15 'Content-Type': 'application/x-www-form-urlencoded' 请教 这种post请求参数,该如何填写??重点是下面那个冒号啊
  • ¥15 找代写python里的jango设计在线书店
  • ¥15 请教如何关于Msg文件解析
  • ¥200 sqlite3数据库设置用户名和密码
  • ¥15 AutoDL无法使用docker install吗?
  • ¥15 cups交叉编译后移植到tina sdk的t113,只需要实现usb驱动打印机,打印pdf文件
  • ¥30 关于#wireshark#的问题:需要网络应用流量数据集需要做长度序列的实验,需要与应用产生的会话的数据包的长度,如视频类或者聊天类软件
  • ¥15 根据上述描述表示泥浆密度沿着管路的长度方向在不断变化,如何来表示泥浆密度随管路的变化(标签-matlab|关键词-流计算)