我有一个Java问题-> Kotlin转换..
如何转换此代码?

String[] allLongestStrings(String[] inputArray) {

    int mL = 0 ;

    for(int i =0; i < inputArray.length; i++){

        if(mL<inputArray[i].length())
            mL = inputArray[i].length();
    }

    final int longest = mL;

    return Stream.of(inputArray)
        .filter(s -> s.length()==longest)
        .toArray(String[]:: new);
}


我特别想更改此部分。

return Stream.of(inputArray)
        .filter(s -> s.length()==longest)
        .toArray(String[]:: new);


请帮忙。

最佳答案

我建议简化一下:

fun allLongestStrings(inputArray: Array<String>): Array<String> {
    val longest = inputArray.maxBy { it.length }?.length
    return inputArray.filter { it.length == longest }.toTypedArray()
}

10-06 16:07