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