相关疑难解决方法(0)

使用Java 8 JDK将Iterable转换为Stream

我有一个返回的界面java.lang.Iterable<T>.

我想使用Java 8 Stream API来操纵该结果.

但是Iterable不能"流".

知道如何将Iterable用作Stream而不将其转换为List吗?

java iterable java-8 java-stream

402
推荐指数
6
解决办法
11万
查看次数

用Java加入字符串集合的首选成语

给定一个字符串集合,如何在不使用外部库的情况下将它们加入普通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)

Apache Commons/Lang中:

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)

java string collections

21
推荐指数
4
解决办法
7873
查看次数

删除输出java末尾的逗号

我正在尝试代码一个基本的应用程序,它将获取用户想要输入的数字量,然后向用户询问数字,将数字保存在字符串数组中,然后以特定格式打印出来.

这是我到目前为止唯一的问题是我需要删除输出结束时的最后一个逗号,我确定我会发生这种错误......任何帮助都表示赞赏.

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)

java arrays

0
推荐指数
1
解决办法
3227
查看次数

标签 统计

java ×3

arrays ×1

collections ×1

iterable ×1

java-8 ×1

java-stream ×1

string ×1