我们可以将字符串数组添加到java中的StringBuffer或StringBuilder中吗?
现在我正在开发一个关于Java的简单项目。其中包括字符串生成器,用于在控制台上追加和打印字符串。当我尝试将字符串数组追加到字符串生成器中时,它将在控制台上打印对象而不是字符串数组。请告诉任何人我的尝试是否正确 数组是一个对象。不要直接附加数组。只需迭代数组并将数组的每个元素附加到字符串生成器中我们可以将字符串数组添加到java中的StringBuffer或StringBuilder中吗?,java,arrays,string,stringbuilder,stringbuffer,Java,Arrays,String,Stringbuilder,Stringbuffer,现在我正在开发一个关于Java的简单项目。其中包括字符串生成器,用于在控制台上追加和打印字符串。当我尝试将字符串数组追加到字符串生成器中时,它将在控制台上打印对象而不是字符串数组。请告诉任何人我的尝试是否正确 数组是一个对象。不要直接附加数组。只需迭代数组并将数组的每个元素附加到字符串生成器中 for(String str : arr) { builder.append(str); } 添加array.toString(yourArray)如果要添加字符串数组的表示形式 如果它是多维
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可以说,一点安全的字符串操作应该比在项目中添加依赖项更好,但这实际上取决于上下文。