现在我正在开发一个关于Java的简单项目。我在String Builder中添加并在控制台上打印字符串。当我尝试将字符串数组追加到字符串生成器中时,它会在控制台上打印对象而不是字符串数组。请告诉我,我的尝试是对还是错。
答案 0 :(得分:6)
Arrays.toString(yourArray)
数组的表示,请添加String
。 String[][])
,则将Arrays.deepToString(yourArray)
添加到StringBuilder
。array
本身将添加默认的String
表示。array
到String
的方式,那么您需要自己迭代这些元素并将其添加到自定义的StringBuilder
中格式。修改强>
作为旁注,要使用自定义Object
数组进行此操作,您可能希望覆盖Object.toString
方法,否则您的元素将以默认值打印String
的{{1}}代表(即this)。
答案 1 :(得分:3)
Array是一个Object。不要直接附加数组。只需迭代数组并将数组的每个元素附加到String构建器。
for(String str : arr) {
builder.append(str);
}
答案 2 :(得分:0)
/**
* <p>Joins the elements of the provided array into a single String
* containing the provided list of elements.</p>
*
* <p>No delimiter is added before or after the list.
* A <code>null</code> separator is the same as an empty String ("").
* Null objects or empty strings within the array are represented by
* empty strings.</p>
*
* <pre>
* 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"
* </pre>
*
* @param array the array of values to join together, may be null
* @param separator the separator character to use, null treated as ""
* @param startIndex the first index to start joining from. It is
* an error to pass in an end index past the end of the array
* @param endIndex the index to stop joining from (exclusive). It is
* an error to pass in an end index past the end of the array
* @return the joined String, <code>null</code> if null array input
*/
Apache Commons Lang StringUtils#join().
太酷了。希望这会有所帮助。