小编SOU*_*E77的帖子

JAVA:使用 lambda 处理数组项时如何减少代码大小

我必须按字母顺序对数组中的每个项目进行排序

输入: [bcdef、dbaqc、abcde、omadd、bbbbb] 输出: [bcdef、abcdq、abcde、addmo、bbbbb]

我写了下面的代码,但我觉得它很冗长(长)。

您能告诉我另一种方式,用更短的代码吗?

谢谢。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

import static java.lang.String.copyValueOf;

public class Main {

    public static void main(String[] args) {
        String[] stringsArray = { "bcdef", "dbaqc", "abcde", "omadd", "bbbbb"};

        System.out.println(Arrays.toString(stringsArray));

        List<String> list = Arrays.stream(stringsArray).map((String s)->{
            char[] charArray = s.toCharArray();
            Arrays.sort(charArray);
            return copyValueOf(charArray);
        }).collect(Collectors.toList());
        ArrayList<String> arrayList = new ArrayList<String>(list);
        stringsArray = Arrays.copyOf(arrayList.toArray(),arrayList.size(),String[].class);

        System.out.println(Arrays.toString(stringsArray));
    }

}
Run Code Online (Sandbox Code Playgroud)

java arrays lambda

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

Java:调用与接口字段冲突的抽象类的非静态字段

如何显示抽象类 Confused("ConfusedValue") 中“name”非静态字段的值?我尝试了3种方法,但都有错误。我只能显示 Confuslable 的名称值(“ConfusableValue”)

interface Confusable {
    String name = "ConfusableValue";

    String confuse();
}

abstract class Confused {
    String name = "ConfusedValue";

    abstract Object confuse();
}

public class Test extends Confused implements Confusable {
    public static void main(String[] args) {
        Test a = new Test();
        // --- OK
        System.out.println("Confusable.name: " + Confusable.name);
        // --- Errors
        System.out.println("name: " + name); // Error : The field name is ambiguous
        System.out.println("Confused.name: " + Confused.name); // Error : Cannot make a static reference …
Run Code Online (Sandbox Code Playgroud)

java inheritance interface abstract non-static

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

标签 统计

java ×2

abstract ×1

arrays ×1

inheritance ×1

interface ×1

lambda ×1

non-static ×1