1、转换为字符串,并加入分隔符输出
方法有很多,这里只列出两种比较简单易懂的。
方法一,使用commons-lang包下的StringUtils.join方法
public String listToString(List list, char separator) {
return StringUtils.join(list.toArray(),separator);
}
上述方法中,传入两个参数:要转化为字符串的List ;要使用的分隔符。在maven工程的pom.xml文件中需要引入commons-lang包
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
方法二,使用StringBuilder的append方法追加
public String listToString(List list, char separator) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
sb.append(list.get(i)).append(separator);
}
return sb.toString().substring(0,sb.toString().length()-1);
}
上述方法中,同样传入两个参数:要转化为字符串的List ;要使用的分隔符。StringBuilder是jdk1.5引入的新类,在默认的java.lang包中,不需要导入。
这里是先定义StringBuilder,然后循环list,将循环出的结果追加到StringBuilder中,并且在每个循环的结果后追加分隔符。最后返回时截取第一个字符到最后一个分隔符之间的内容即可。
2、从控制台输入数据的几种常用方法
方法一,控制台输出,使用java.util.Scanner
public static void ScannerInputAndOut(){
Scanner in = new Scanner(System.in);
System.out.println(in.nextLine());
}
通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象。获取输入的内容,调用Scanner的nextLine()方法即可。
方法二,字节流输出,使用System.in.read()
public static void ByteInputAndOut(){
//输入
BufferedInputStream in = new BufferedInputStream(System.in);
try {
byte[] b = new byte[1024];
in.read(b);
System.out.println(new String(b));
} catch (IOException e) {
e.printStackTrace();
}
//输出
BufferedOutputStream out = new BufferedOutputStream(System.out);
try {
for (int i = 0; i < 5; i++) {
out.write("hello".getBytes());
}
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
API从输入流中读取数据的下一个字节。返回 0 到 255 范围内的 int 字节值。返回一个整型字节数据,如果到达流的末尾,则返回 -1。
重复调用System.in.read()实际上是在遍历该流中的每一个字节数据。
方法三,字符流输出,使用BufferedReader
public static void CharInputAndOut(){
//输入
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println(in.readLine());
} catch (IOException e) {
e.printStackTrace();
}
//输出
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));
try {
for (int i = 0; i < 5; i++) {
out.write("hello"+i);
out.newLine();
}
out.close();
} catch (IOException e) {
e.printStackTrace();
}
网友评论