如何从ArrayList获取所需格式 import java.net.UnknownHostException; 导入java.text.DecimalFormat; 导入java.text.ParseException; 导入java.util.ArrayList; 导入java.util.List; 导入org.apache.log4j.Logger; 公开课考试{ 最终静态记录器=Logger.getLogger(Test.class); 私有静态十进制格式小数点=新的十进制格式(“0.00”); 公共静态void main(字符串args[])抛出UnknownHostException, 语法异常{ ArrayList数组_list=新建ArrayList(); 数组_列表。添加(1); 数组_列表。添加(0); String joinedString=数组_list.toString(); System.out.println(joinedString); } }
如何将输出设置为1,0 当我使用array_list.toString()时;它的输出为[1,0](添加了数组) 你能告诉我如何得到1,0而不是[1,0]最简单的方法是如何从ArrayList获取所需格式 import java.net.UnknownHostException; 导入java.text.DecimalFormat; 导入java.text.ParseException; 导入java.util.ArrayList; 导入java.util.List; 导入org.apache.log4j.Logger; 公开课考试{ 最终静态记录器=Logger.getLogger(Test.class); 私有静态十进制格式小数点=新的十进制格式(“0.00”); 公共静态void main(字符串args[])抛出UnknownHostException, 语法异常{ ArrayList数组_list=新建ArrayList(); 数组_列表。添加(1); 数组_列表。添加(0); String joinedString=数组_list.toString(); System.out.println(joinedString); } },java,Java,如何将输出设置为1,0 当我使用array_list.toString()时;它的输出为[1,0](添加了数组) 你能告诉我如何得到1,0而不是[1,0]最简单的方法是 import java.net.UnknownHostException; import java.text.DecimalFormat; import java.text.ParseException; import java.util.ArrayList; import java.util.List; import org
import java.net.UnknownHostException;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
public class Test {
final static Logger logger = Logger.getLogger(Test.class);
private static DecimalFormat decimal_inpoints = new DecimalFormat("0.00");
public static void main(String args[]) throws UnknownHostException,
ParseException {
ArrayList<Integer> array_list = new ArrayList<Integer>();
array_list.add(1);
array_list.add(0);
String joinedString = array_list.toString();
System.out.println(joinedString);
}
}
在Java 8中,您可以通过加入收集器来实现:
array_list.toString().replace("[","").replace("]","");
使用:
当使用Java8时
您可以创建自己的类并重写toString方法
private toStringNoBrackets(ArrayList MyList) {
return String.join(",", MyList);
}
import java.util.ArrayList;
公共类MyIntegerArrayList扩展了ArrayList
{
@凌驾
公共字符串toString(){
返回super.toString();
}
}
MyIntegerArrayList MyIntegerArrayList=新的MyIntegerArrayList();
myIntegerArrayList.add(0);
myIntegerArrayList.add(1);
myIntegerArrayList.toString();
使用:
使用Java8
使用谷歌
使用StringBuilder
最简单的方法是自己执行“加入”操作。。。你试过那样做吗?(使用StringBuilder,先添加一个项目,然后添加一个逗号,等等)还要注意,您的代码不会生成未知的PostException或ParseException,也不会使用logger或DecimalFormat。所有这些都可以从代码中删除,以便更容易地查看您感兴趣的内容。这是
ArrayList
类的toString()
的默认实现。您必须编写自己的方法以获得所需格式的字符串,您可以使用StringBuilder轻松地完成此操作。您应该检查以下帖子:string.replace()在java 7中不存在?我真的很惊讶。编辑:刚签出Java7文档,我看到有string.replace()方法。怎么可能你不能用它?
import java.util.ArrayList;
import java.util.List;
import java.util.StringJoiner;
public class SOPlayground {
public static void main(String[] args) {
List<Integer> array_list = new ArrayList<>();
array_list.add(1);
array_list.add(0);
StringJoiner sj = new StringJoiner(", ");
array_list.stream().forEach((i) -> {
sj.add(i.toString());
});
System.out.println(sj.toString());
}
}
1, 0
private toStringNoBrackets(ArrayList MyList) {
return String.join(",", MyList);
}
import java.util.ArrayList;
public class MyIntegerArrayList extends ArrayList<Integer>
{
@Override
public String toString(){
return super.toString().replace("[","").replace("]","");
}
}
MyIntegerArrayList myIntegerArrayList = new MyIntegerArrayList();
myIntegerArrayList.add(0);
myIntegerArrayList.add(1);
myIntegerArrayList.toString();
String join = StringUtils.join(joinList, ",");
String joined = String.join(",", list);
Joiner joiner = Joiner.on(",");
String join = joiner.join(joinList);
StringBuilder builder = new StringBuilder(array_list.size());
boolean isFirst = true;
for (int i : array_list){
if (isFirst) {
builder.append(i);
isFirst = false;
} else {
builder.append(", " + i);
}
}
System.out.println(builder.toString());