编程语言
首页 > 编程语言> > java – 没有双引号的字符串追加

java – 没有双引号的字符串追加

作者:互联网

我是java的初学者.我对String上的=操作有疑问.为什么我可以使用=运算符来追加没有双引号的String对象?

例如,我在这段代码上没有编译错误

String s1 = "abc";
String s1+=42;

当我真的以为我必须使用s1 =“42”时;

解决方法:

 String s1+=def;

该行有效然后def是另一个Java String.因为它是成功编译的,所以在你的代码之前的某些地方,你有

 String def ="someDeclaredStringBefore";

**Update:**

为了清楚发生什么事情,首先让我们看看如何在字符串上运行.

它使用StringBuilder追加方法.对于前者

 StringBuilder compilerGeneratedBuilder = new StringBuilder();  
 compilerGeneratedBuilder.append("str");  
 compilerGeneratedBuilder.append("ingcon");  
 compilerGeneratedBuilder.append("catenation");  
 String finalString = compilerGeneratedBuilder.toString();

我最近在这里写的全文:

http://codeinventions.blogspot.com/2014/08/compiler-version-string-concatenation.html

当你写String r = 42;

因为您尝试添加int值.对应的append(int i)方法调用StringBuilder并生成最终字符串.

标签:java,string,operator-keyword,append,double-quotes
来源: https://codeday.me/bug/20190830/1768720.html