假设你有一个List<String> strings,你想要第一个项目。
有几种方法可以做到这一点:
Java(8 之前):
String firstElement = null;
if (!strings.isEmpty() && strings.size() > 0) {
firstElement = strings.get(0);
}
Java 8:
Optional<String> firstElement = strings.stream().findFirst();
番石榴
String firstElement = Iterables.getFirst(strings, null);
Apache commons (4+)
String firstElement = (String) IteratorUtils.get(strings, 0);
Apache commons(4 之前)
String firstElement = (String) CollectionUtils.get(strings, 0);
随后或封装在适当的检查或 try-catch 块中。
科特林:
在 Kotlin 中,Arrays 和大多数 Collections(例如:List)都有一个 first 方法调用。
所以你的代码看起来像这样
对于列表:
val stringsList: List<String?> = listOf("a", "b", null)
val first: String? = stringsList.first()
对于数组:
val stringArray: Array<String?> = arrayOf("a", "b", null)
val first: String? = stringArray.first()
随后或封装在适当的检查或 try-catch 块中。
Kotlin 还包括对 kotlin.collections 执行此操作的更安全的方法,例如 firstOrNull 或 getOrElse,或使用 JRE8 时的 getOrDefault