我不明白为什么我的数组不连接,只是当我将数组与任何其他字符连接时,它不会显示tempString的内容。但是当我删除特殊字符时,它会产生输出。
E.G 没有特殊字符时,输出为 // ThisisaSingleLineComment 但是当我使用其他特殊字符时,根本没有输出
我使用的代码是ff。:
tempString=tempString+newTokens[ctr];
tempString+=newTokens[ctr];
我甚至在这段代码中使用了字符串构建器,但仍然没有输出。
StringBuilder sb = new StringBuilder(100);
sb.append(newTokens[ctr]);
sb.append(whiteSpace);
我的输出应该是这样的 //这是一行评论
因为每个都在一个数组中分配,我想要组合起来形成一个字符串/队列(堆栈)值。
答案 0 :(得分:2)
使用tempString var时的代码块应如下所示
String tempString = newTokens[0];
上述语句只是针对收到的第一个令牌初始化tempString var。
对于任何新令牌,连接应如下所示。或者只是在索引1的标记,直到数组的最后一个索引。
for(int ctr = 1; ctr < newTokens.length; ctr++) {
tempString = tempString + "\b" + newTokens[ctr];
}
您缺少在代码中添加空格字符。 \ b是空格或单个空格的转义字符。
您也可以使用以下声明
tempString = tempString + " " + newTokens[ctr]
我建议你把整个方法块放在StringBuilder中。
我不确定您运行代码的输入或数组值。
通常,您必须在循环内运行它以使用StringBuilder生成整个字符串。
StringBuilder的示例代码如下所示
StringBuilder sb = new StringBuilder(100);
for(int ctr = 0; ctr < newTokens.length; ctr++) {
sb.append(newTokens[ctr]);
sb.append(whiteSpace);
}
下面的代码不能用于连接。
tempString=tempString+newTokens[ctr];
tempString+=newTokens[ctr];
它所做的两个语句都是连接到tempString的最后更新值。
例如,您首先使用&#34;初始化tempString; &#34;一片空白。
第一次迭代会使字符串值为&#34; //&#34 ;.现在tempString不仅仅是一个空白字符。你将不得不分别添加一个新的空白字符,就像我在上面的例子中所示
答案 1 :(得分:1)
为什么不使用 String#join
String[] newTokens ={"This","is","a","Single","Line","Comment"};
System.out.println(String.join(" ",newTokens));
并且输出
This is a Single Line Comment
答案 2 :(得分:0)
您还可以使用 StringJoiner joiner = new StringJoiner(" ");
for(String string : myList){
joiner.add(string);
}
System.out.println( joiner.toString() );
:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>ZIP Archive</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>CFBundleTypeExtensions</key>
<array>
<string>zip</string>
</array>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>application/zip</string>
<string>application/x-zip</string>
<string>application/x-zip-compressed</string>
</array>
<key>LSItemContentTypes</key>
<array>
<string>com.pkware.zip-archive</string>
</array>
</dict>
<dict>
<key>CFBundleTypeName</key>
<string>MP3</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>CFBundleTypeExtensions</key>
<array>
<string>mp3</string>
</array>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>audio/mpeg</string>
<string>audio/mpeg3</string>
<string>audio/mpg</string>
<string>audio/mp3</string>
</array>
<key>LSItemContentTypes</key>
<array>
<string>public.mp3</string>
</array>
</dict>
</array>