如何将数组与空间连接?

时间:2017-10-06 17:22:10

标签: java arrays string

我不明白为什么我的数组不连接,只是当我将数组与任何其他字符连接时,它不会显示tempString的内容。但是当我删除特殊字符时,它会产生输出。

E.G 没有特殊字符时,输出为 // ThisisaSingleLineComment 但是当我使用其他特殊字符时,根本没有输出

我使用的代码是ff。:

tempString=tempString+newTokens[ctr];

tempString+=newTokens[ctr];

我甚至在这段代码中使用了字符串构建器,但仍然没有输出。

StringBuilder sb = new StringBuilder(100);
sb.append(newTokens[ctr]);
sb.append(whiteSpace);

我的输出应该是这样的 //这是一行评论

因为每个都在一个数组中分配,我想要组合起来形成一个字符串/队列(堆栈)值。

3 个答案:

答案 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>