java - (Java -> Kotlin)如何转换这段代码?(流,过滤器)
问题描述
我有 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()
}
推荐阅读
- python - python临时文件读写
- python - Scraping Java Driven site with Selenium, BS
- php - php the most effective search array of objects by object`s field
- java - Elasticsearch "org.springframework.http.converter.HttpMessageNotWritableException"
- python - I want to get the URLs, not True or False in my code
- internationalization - Angular7 internationalization vs translate module
- sql - lower first letter of column by keeping rest as it is
- c++ - Sort a vector of vectors and count frequencies of unique occurences using the standard library
- typescript - 这个语法是什么意思
- sql - 如何动态删除和创建索引约束