为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 String concat(String) 方法的行为不同?

为什么 String concat(String) 方法的行为不同?

12345678_0001 2021-09-03 17:10:04
我请检查下面的代码。我可以理解未分配 String s1 ,因此即使使用 concat(string) 方法,它也会提供原始输出。而且,在 String s2 的情况下,没有分配变量但串联工作。有人可以解释一下吗?package com.stringconcat.main;public class StringConcat {    public static void main(String[] args) {        String  s1 = "Hello";        s1.concat(" World");        System.out.println("String s1 output: " + s1);        String s2 = "Hello" /*s1*/;        System.out.println("String s2 output: " + s2.concat(" World"));    }}输出为: String s1 输出:Hello String s2 输出:Hello World
查看完整描述

3 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

因为在第二种情况下,你都串接结果s2.concat(" World")"String s2 output: ",你是不是忽视它。


查看完整回答
反对 回复 2021-09-03
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

Concat 返回一个包含连接字符串的新 String 实例。您只需通过不将其分配给变量来删除此连接版本。


查看完整回答
反对 回复 2021-09-03
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

这是因为s1is Hellowhiles2.concat(" World")是另一个string具有连接字符串 as 的对象Hello Worldconcat#string方法总是返回string带有连接字符串的对象的新实例。

查看完整回答
反对 回复 2021-09-03
  • 3 回答
  • 0 关注
  • 144 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信