理解java中字符串的连接

Java编程语言中的连接是将两个字符串连接在一起的操作。可以使用加法(+)运算符或字符串的concat()方法连接字符串。...

Java编程语言中的连接是将两个字符串连接在一起的操作。可以使用加法(+)运算符或字符串的concat()方法连接字符串。

A printed sheet of Java code. A printed sheet of Java code.

使用+运算符

使用+运算符是Java中连接两个字符串的最常用方法。您可以提供变量、数字或字符串文字(总是用双引号括起来)。

例如,要组合字符串“我是一名”和“学生”,请编写:

"I’m a" + " student"

请确保添加一个空格,以便在打印组合字符串时,正确分隔其单词。请注意上面的“student”以空格开头,例如。

组合多个字符串

可以将任意数量的+操作数串在一起,例如:

"I’m a" + " student" + "! And so are you."

在打印语句中使用+运算符

在打印语句中经常使用+运算符。你可以写一些类似的东西:

System.out.println("pan" + "handle");

这将打印:

panhandle

跨多行组合字符串

Java不允许文字字符串跨越多行。使用+运算符可防止出现以下情况:

String quote ="Nothing in all the world is more dangerous than " +"sincere ignorance and conscientious stupidity.";

混合物体

运算符“+”通常用作算术运算符,除非其操作数之一是字符串。如果是,则在将第二个操作数连接到第一个操作数的末尾之前,将另一个操作数转换为字符串。

例如,在下面的示例中,age是一个整数,因此+运算符将首先将其转换为字符串,然后将两个字符串合并。(操作符通过调用其toString()方法在后台执行此操作;您不会看到这种情况发生。)

int age = 12;System.out.println("My age is " + age);

这将打印:

My age is 12

使用concat方法

String类有一个执行相同操作的方法concat()。此方法作用于第一个字符串,然后将要合并的字符串作为参数:

public String concat (String str)​

例如:

String myString=“我已经决定坚持爱;;myString=myString.concat(“仇恨是一个难以承受的负担”);System.out.println(myString);

这将打印:

I have decided to stick with love. Hate is too great a burden to bear.

+运算符和concat方法之间的差异

您可能想知道使用+运算符连接什么时候有意义,什么时候应该使用concat()方法。以下是两者之间的一些区别:

  • concat()方法只能组合字符串对象-必须对字符串对象调用它,并且其参数必须是字符串对象。这使得它比+运算符更具限制性,因为运算符会将任何非字符串参数静默地转换为字符串。
  • 如果对象具有null引用,则concat()方法将抛出NullPointerException,而+运算符将null引用作为“null”字符串处理。
  • concat()方法只能组合两个字符串–它不能接受多个参数。+运算符可以组合任意数量的字符串。

由于这些原因,+运算符更常用于组合字符串。但是,如果您正在开发一个大型应用程序,由于Java处理字符串转换的方式,两者的性能可能会有所不同,因此请注意组合字符串的上下文。

  • 发表于 2021-10-20 09:53
  • 阅读 ( 151 )
  • 分类:IT

你可能感兴趣的文章

字符串缓冲区(string stringbuffer)和java中的stringbuilder(stringbuilder in java)的区别

...er与stringbuilder String、StringBuffer和stringbuilder是Java中的类。字符串在Java编程中被广泛使用。一旦创建了字符串对象,就不可能更改它们。每次字符串发生更改时,它都会创建一个新字符串。即使是连接到现有字符串,它也会创建...

  • 发布于 2020-10-02 19:22
  • 阅读 ( 314 )

变量(variables)和java中的数据字面值(data literals in java)的区别

...有各种类型的文字。它们是整数文本、浮点文本、字符和字符串文本。整型字面值用于初始化整型数据类型(如byte、short、int和long)的变量。浮点字面值用于初始化数据类型为float和double的变量。浮点文字以f或f结尾,它是float...

  • 发布于 2020-10-19 08:52
  • 阅读 ( 260 )

如何用java编写for循环

...种常见方法是遍历数组。例如,如果要打印数组中的所有字符串,则不能简单地说 ...

  • 发布于 2021-03-29 11:52
  • 阅读 ( 233 )

数组(array)和数组表(arraylist)的区别

...量。 例如: 公共类排列长度测试{ public static void main(字符串[]args){ ArrayList arrList=新建ArrayList(); String[]items={“一”,“二”,“三”}; for(字符串str:items){ arrList.add(str); } int size=items.size(); System.out.println(大小...

  • 发布于 2021-06-25 03:21
  • 阅读 ( 685 )

C++(c++)和JAVA(java)的区别

...。此外,标准模板库(STL)是C++标准库。它由操作文件、字符串、数据结构等的方法组成,程序员可以在程序中使用它们。 此外,可以实现面向对象的编程概念,如继承、抽象、封装和多态性以及结构化编程概念,如选择(IF...

  • 发布于 2021-07-01 07:51
  • 阅读 ( 337 )

字节流(byte stream)和java中的字符流(character stream in java)的区别

...目标。 导入java.io.*; 公共课程{   public static void main(字符串args[])引发IOException{ FileInputStream in=null; FileOutputStream out=null;   试试看{ in=新文件inputstream(“input.txt”); out=new FileOutputStream(“output.txt”); 内景c; while((...

  • 发布于 2021-07-01 09:22
  • 阅读 ( 722 )

文件读取器(filereader)和java中的bufferedreader(bufferedreader in java)的区别

...对象。 此外,有两种方法可以编写构造函数。 FileReader(字符串文件)–程序员将文件作为字符串传递。它以读取模式打开文件,如果文件不可用,则抛出FileNotFoundException。 FileReader(文件)–程序员传递文件实例。它以读取模...

  • 发布于 2021-07-01 12:28
  • 阅读 ( 266 )

下一个(next)和java中的nextline(nextline in java)的区别

...rintln语句最终显示输出,即“Python”。即使用户输入多个字符串,也只有第一个字符串存储到languages变量中。由于这个程序使用的是下一个方法,它只读取输入,直到接收到一个空格。因此,在Python之后,有一个空间,所以它不...

  • 发布于 2021-07-01 22:50
  • 阅读 ( 470 )

打印(print)和打印(println)的区别

print和println的主要区别在于print方法打印字符串但不将光标移到新行,而println方法打印字符串并将光标移到新行。 Java是一种通用的高级编程语言。它用于构建web、桌面、移动和其他分布式应用程序。它是一种独立于平台的语言...

  • 发布于 2021-07-01 23:19
  • 阅读 ( 293 )

可变的(mutable)和java中不可变(immutable in java)的区别

Java中可变和不可变的主要区别在于,可变指的是修改字符串的能力,而不可变指的是不可能修改字符串。 Java是一种高级编程语言,有助于开发桌面、web和移动应用程序。另一方面,字符串是一组字符。在Java中,字符串对象是...

  • 发布于 2021-07-02 01:37
  • 阅读 ( 441 )
gyoawikkou684
gyoawikkou684

0 篇文章

相关推荐