use*_*881 7 java string concatenation
我有一组strings想要组合成一个String所有用昏迷分隔的句子(*.csv)
以下是它与我的关系:
String dataContainer;
for(String tempString:setInput){
String finalString = "," + tempString + "," ;
}
Run Code Online (Sandbox Code Playgroud)
这不适合我:(
但它应该为Set ex做:
Set<String> setInput = new TreeSet();
setInput.add("Dog");
setInput.add("Cat");
setInput.add("Mouse");
Run Code Online (Sandbox Code Playgroud)
生成字符串:
,Dog,,Cat,,Mouse,
Run Code Online (Sandbox Code Playgroud)
Ruc*_*era 17
最好使用 StringBuilder
StringBuilder sb= new StringBuilder();
for(String tempString:setInput){
sb.append(",").append(tempString).append(",");
}
Run Code Online (Sandbox Code Playgroud)
你intializing每次都在做 结果字符串.
实际上,你想做
String finalString ="";
for(String tempString:setInput){
finalString += "," + tempString + "," ;
}
Run Code Online (Sandbox Code Playgroud)
但上述方法会导致多次String创作.
但我建议去StringBuilder.
StringBuilder finalStringb =new StringBuilder();
for(String tempString:setInput){
finalStringb.append(",").append(tempString).append(",") ;
}
String finalS = finalStringb.toString();
Run Code Online (Sandbox Code Playgroud)
小智 6
或者我们可以使用Java 8 Stream
String joined = Stream.of("A", "B", "C").collect(Collectors.joining("delimiter", "prefix", "suffix"));
Run Code Online (Sandbox Code Playgroud)
要么
Directly Use StringJoiner class
Run Code Online (Sandbox Code Playgroud)
要么
new StringBuilder().add("A").add("B").toString()
Run Code Online (Sandbox Code Playgroud)
等等
| 归档时间: |
|
| 查看次数: |
38902 次 |
| 最近记录: |