Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们可以将字符串数组添加到java中的StringBuffer或StringBuilder中吗?_Java_Arrays_String_Stringbuilder_Stringbuffer - Fatal编程技术网

我们可以将字符串数组添加到java中的StringBuffer或StringBuilder中吗?

我们可以将字符串数组添加到java中的StringBuffer或StringBuilder中吗?,java,arrays,string,stringbuilder,stringbuffer,Java,Arrays,String,Stringbuilder,Stringbuffer,现在我正在开发一个关于Java的简单项目。其中包括字符串生成器,用于在控制台上追加和打印字符串。当我尝试将字符串数组追加到字符串生成器中时,它将在控制台上打印对象而不是字符串数组。请告诉任何人我的尝试是否正确 数组是一个对象。不要直接附加数组。只需迭代数组并将数组的每个元素附加到字符串生成器中 for(String str : arr) { builder.append(str); } 添加array.toString(yourArray)如果要添加字符串数组的表示形式 如果它是多维

现在我正在开发一个关于Java的简单项目。其中包括字符串生成器,用于在控制台上追加和打印字符串。当我尝试将字符串数组追加到字符串生成器中时,它将在控制台上打印对象而不是字符串数组。请告诉任何人我的尝试是否正确

数组是一个对象。不要直接附加数组。只需迭代数组并将数组的每个元素附加到字符串生成器中

for(String str : arr) {
    builder.append(str);
}
  • 添加
    array.toString(yourArray)
    如果要添加
    字符串
    数组的表示形式
  • 如果它是多维数组(例如
    String[][])
    ,则将
    Arrays.deepToString(您的数组)
    添加到
    StringBuilder
  • 添加
    数组
    本身将添加默认的
    字符串
    表示
  • 最后,如果需要控制如何将
    数组
    表示为
    字符串
    ,则需要自己迭代元素,并以自定义格式将它们添加到
    StringBuilder
编辑

作为旁注,要使这项工作与自定义
对象的数组一起工作,您可能需要覆盖
对象.toString
方法,否则您的元素将使用
对象的默认
字符串
表示(即)。

/**
*将所提供数组的元素合并为单个字符串
*包含提供的元素列表

* *列表前后不添加分隔符。 *
null
分隔符与空字符串(“”)相同。 *数组中的空对象或空字符串由 *空字符串

* * *StringUtils.join(null,*)=null *StringUtils.join([],*)=“” *StringUtils.join([null],*)=“” *StringUtils.join([“a”、“b”、“c”],“--”)=“a--b--c” *StringUtils.join([“a”、“b”、“c”],null)=“abc” *StringUtils.join([“a”、“b”、“c”],“”)等于“abc” *StringUtils.join([null,“,“a”],“,”)=“,,a” * * *@param array要连接在一起的值数组可能为空 *@param separator要使用的分隔符,null被视为“” *@param startIndex开始加入的第一个索引。它是 *将结束索引传递到数组末尾时出错 *@param endIndex停止加入的索引(独占)。它是 *将结束索引传递到数组末尾时出错 *@返回连接的字符串,
null
如果数组输入为null */


apachecommons Lang StringUtils#join()。
太酷了。希望这能有所帮助。

将您的代码与您的故事一起发布您的预期输出。@Nithya不客气!另请参见我对自定义
对象的编辑。在此
Arrays.toString()过程中是否可以忽略“[”和“]”?因为,我试图将
String[]
中的元素附加到
StringBuilder
中,该元素已经有一些元素,我不想在它们之间包含
[和]
。@AshokMA您只需删除第一个和最后一个字符,这将一致地删除一维数组中的方括号。对于多维数组,您可能需要保留它们,以免您想要将其展平(在这种情况下,用空字符串替换方括号)。@Mena是的,我可以这样做。但是,我担心这会让我的代码变得难看:(然而,我发现在这种情况下,
apachecommons Lang StringUtils#join()
非常有用。)@AshokMA可以说,一点安全的字符串操作应该比在项目中添加依赖项更好,但这实际上取决于上下文。