【问题标题】:How to convert this String array to array so that I can print all the results coming from a for loop to a string separated by commas如何将此字符串数组转换为数组,以便我可以将来自 for 循环的所有结果打印为以逗号分隔的字符串
【发布时间】:2022-02-01 09:41:44
【问题描述】:
         if(CoverageNames.size()>0) {

            StringBuffer tmp = new StringBuffer();
            for(int i =0; i<CoverageNames.size();i++) {
                tmp.append(CoverageNames.get(i).getText());
                tmp.append(";");
            }
            List<String[]> covNamesListReport= new ArrayList<>();
            String[] CoverageNamesListReport={"CoverageNamesListReport",tmp.toString()};
            covNamesListReport.add(CoverageNamesListReport);
            String CovName= covNamesListReport.toString();
            CoverageReportList("CoverageNames", CovName);
        } 

Coverage Report List 是一种接受两个字符串参数的方法。 我现在正在学习,所以也欢迎任何其他方法。

【问题讨论】:

  • 我想你应该更清楚:你要转换的String数组是哪个?你的目标是什么?而且,最重要的是,您尝试过什么?
  • String result = Arrays.stream(foo).collect(Collectors.joining(",")); 是我的做法。
  • 不清楚你想要什么。为什么要创建一个包含两个元素的数组,将其添加到列表中,只是为了在该列表上调用toString()?如果您希望这两个项目用逗号分隔,只需使用String result = "CoverageNamesListReport, " + tmp; 数组有一个通用解决方案,即String.join(", ", array),但是当您只有两个元素并且第一个元素甚至是常量字符串。或者,您可以在循环之前执行tmp.add("CoverageNamesListReport, ");,然后tmp.toString() 确实已经产生了最终结果。

标签: java arrays string arraylist collections


【解决方案1】:

List&lt;String[]&gt; 转换为covNamesListReport.toString(); 行中的字符串时,内部数组的内容未按预期显示,看起来像[[Ljava.lang.String;@726f3b58],因为调用了数组的toString 方法。

为了正确显示内部字符串的内容,可以使用嵌套的List&lt;String&gt;

List<List<String>> covNamesListReport = new ArrayList<>();
List<String> CoverageNamesListReport = Arrays.asList("CoverageNamesListReport", tmp.toString());
            
covNamesListReport.add(CoverageNamesListReport);
String CovName = covNamesListReport.toString();
// -> [[CoverageNamesListReport, AAA;BB;CCC;]]

Arrays.toString 可以仅用于转换嵌套数组:

List<String> covNamesListReport= new ArrayList<>();
String CoverageNamesListReport= Arrays.toString(new String[] {
    "CoverageNamesListReport", tmp.toString()
});
            
covNamesListReport.add(CoverageNamesListReport);
String CovName= covNamesListReport.toString();
// -> [[CoverageNamesListReport, AAA;BB;CCC;]]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 2020-05-21
    • 2011-06-18
    • 2019-05-19
    相关资源
    最近更新 更多