有没有更简洁的方法来使用Lambda表达式编写此方法?

Jos*_*uaD 5 java lambda

我正在getAlbumArtist()使用自定义比较器类AlphaNumComparator 通过其方法的输出对"Albums"数组进行排序,该类具有compare比较两个字符串的方法.

我有以下代码,它有效:

AlphanumComparator comparator = new AlphanumComparator ( CaseHandling.CASE_INSENSITIVE );

Arrays.sort( albumArray, ( Album a, Album b ) -> {
    return comparator.compare( a.getAlbumArtist(), b.getAlbumArtist() );
});
Run Code Online (Sandbox Code Playgroud)

这看起来像Java中的一些新的langauge功能可以简化/更清晰的代码,但我不能完全适应这些部分.是否有可能,或者它是否像它一样有意义?

tal*_*lex 7

我建议你用

    Arrays.sort(albumArray, Comparator.comparing(Album::getAlbumArtist, comparator));
Run Code Online (Sandbox Code Playgroud)