Java中concat()和+运算符之间的区别

2023-11-18 08:23:22

Java提供了两种方法来附加字符串并使它们成为一种。这两个方法分别是Concat()method和+运算符。两者都是为相同的功能开发的,但仍存在一些主要差异。

以下是concat方法和+运算符之间的重要区别。

序号合并方法+运算符
1类型语法指的concat()是一种方法,位于java.lang.String包下。另一方面,+是运算符而不是方法。
2参数数量concat方法可以将唯一的参数作为输入,并将此输入附加到调用此方法的目标字符串上。+运算符可以附加任意数量的字符串,并且不绑定仅作为参数输入。
3输入类型concat方法只能将字符串作为输入,如果提供了任何其他类型的输入,则会要求编译时错误。+运算符可以接受任何类型的输入并将其转换为字符串,然后再追加到目标字符串。
4输出为新字符串仅当输出字符串的长度大于零时,concat方法才会在追加后创建新的字符串对象作为输出,否则返回与输出对象相同的目标字符串。+运算符总是创建新对象作为输出,而不管追加后产生的结果字符串的长度如何。
5执行期间异常如果此方法以null作为输入调用,则Concat方法将返回null指针异常。另一方面,在用null调用的情况下,+运算符不会引发任何异常。
6性能在concat方法的情况下,如果结果字符串的长度为零,则不会创建新对象,因此与+运算符相比,它消耗的内存更少。而+运算符总是在内存中创建新对象,而附加字符串则因此消耗更多内存。

concat方法vs +运算符的示例

ConcatDemo.java

public class ConcatDemo {
   public static void main(String args[]){
      String s = "I am ";
      s = s.concat("Indian");
      System.out.println(s);
   }
}

输出结果

I am Indian

示例

OperatorDemo.java

public class OperatorDemo {
   public static void main(String args[]){
      String s1 = "I am ";
      String s2 = "Indian";
      String s3 = s2 + s1;
      System.out.println(s3);
   }
}

输出结果

Indian I am
  • 作者:
  • 原文链接:
    更新时间:2023-11-18 08:23:22