我有一个返回的界面java.lang.Iterable<T>.
我想使用Java 8 Stream API来操纵该结果.
但是Iterable不能"流".
知道如何将Iterable用作Stream而不将其转换为List吗?
给定一个字符串集合,如何在不使用外部库的情况下将它们加入普通Java中?
鉴于以下变量:
Collection<String> data = Arrays.asList("Snap", "Crackle", "Pop");
String separator = ", ";
String joined; // let's create this, shall we?
Run Code Online (Sandbox Code Playgroud)
这就是我在Guava中的表现:
joined = Joiner.on(separator).join(data);
Run Code Online (Sandbox Code Playgroud)
joined = StringUtils.join(data, separator);
Run Code Online (Sandbox Code Playgroud)
但是在简单的Java中,真的没有比这更好的方法吗?
StringBuilder sb = new StringBuilder();
for(String item : data){
if(sb.length()>0)sb.append(separator);
sb.append(item);
}
joined = sb.toString();
Run Code Online (Sandbox Code Playgroud) 我正在尝试代码一个基本的应用程序,它将获取用户想要输入的数字量,然后向用户询问数字,将数字保存在字符串数组中,然后以特定格式打印出来.
这是我到目前为止唯一的问题是我需要删除输出结束时的最后一个逗号,我确定我会发生这种错误......任何帮助都表示赞赏.
import java.util.Scanner;
public class info {
public void blue(){
Scanner sc = new Scanner(System.in);
Scanner dc = new Scanner(System.in);
System.out.println("how many numbers do you have?");
int a = dc.nextInt();
System.out.println("enter your numbers");
String index[]=new String [a];
String i;
for(int k = 0;k<index.length;k++){
i = sc.nextLine();
index[k]=i;
}
System.out.print("query (");
for(int l = 0;l<index.length;l++){
System.out.printf("'%s',",index[l]);
}
System.out.print(")");
}
}
Run Code Online (Sandbox Code Playgroud)