str.concat()是什么意思
时间: 2024-10-27 07:10:56 浏览: 10
`str.concat()` 是Java字符串处理中的一个方法,它用于连接两个或更多的字符串对象。在 `String` 类中,`concat()` 方法接受一个字符串参数,并将当前字符串与其拼接起来,返回一个新的字符串,原字符串不会改变。语法如下:
```java
String result = originalStr.concat(otherStr);
```
例如,如果你有两个字符串 `str1` 和 `str2`,你可以通过 `str1.concat(str2)` 来创建一个新的字符串,其内容是 `str1` 后面跟着 `str2`。这个操作在Java早期版本中存在,但在Java 5及以上版本,推荐使用 `+` 运算符或者 `StringBuilder` 或 `StringBuffer` 类的 `append()` 方法来进行更高效的安全字符串连接。
```java
// 不推荐的旧版方式
String combined = str1 + str2;
// 推荐的新版方式
String combined = new StringBuilder().append(str1).append(str2).toString();
```
相关问题
String str = "123"; str.concat("abc"); str.concat("def"); System.out.println(str);结果是
输出结果为 "123"。因为 `str.concat("abc")` 和 `str.concat("def")` 方法并没有修改原始字符串 `str`,而是返回了新的字符串,但是这些新的字符串并没有被赋值给任何变量。因此,`System.out.println(str)` 打印的仍然是原始字符串 `str`,即 "123"。如果希望将新的字符串赋值给变量或者输出新的字符串,可以这样写:
```java
String str = "123";
String newStr1 = str.concat("abc");
String newStr2 = str.concat("def");
System.out.println(newStr1); // 输出 "123abc"
System.out.println(newStr2); // 输出 "123def"
```
public static void main(String[] args) { String str=null; str.concat("abc"); str.concat("123"); System.out.println(str); }
这段代码会输出 "null"。原因是在第二行代码中,str是一个空对象,调用concat()方法并不会改变str对象本身,而是返回一个新的字符串对象,如果不将其赋值给str,那么str仍然是null。因此在第三行和第四行中,所调用的concat()方法实际上都是在新的字符串对象上执行的,而不是在原对象上执行的。所以最终输出的仍然是null。
阅读全文