firstNotNullOfOrNull
val data = arrayOf<String?>(null, null, null)
// 尝试获取第一个非空的字符串长度,如果所有元素都为空,则返回 null
val firstNonNullLengthOrNull = data.firstNotNullOfOrNull {
it?.count()
}
// 输出:第一个非空的字符串长度(或 null): null
_console.log("第一个非空的字符串长度(或 null): ", firstNonNullLengthOrNull)
def data = $objectWrappers.wrap($arrays.arrayOf($plugins.loadClass("java.lang.String"), null, null, null))
// 尝试获取第一个非空的字符串长度,如果所有元素都为空,则返回 null
def firstNonNullLengthOrNull = data.firstNotNullOfOrNull {
if (it != null) {
$objectWrappers.wrap(it).count()
}
}
// 输出:第一个非空的字符串长度(或 null): null
$console.log("第一个非空的字符串长度(或 null): ", firstNonNullLengthOrNull)
let data = $objectWrappers.wrap($arrays.arrayOf($plugins.loadClass("java.lang.String"), null, null, null))
// 尝试获取第一个非空的字符串长度,如果所有元素都为空,则返回 null
let firstNonNullLengthOrNull = data.firstNotNullOfOrNull(it => {
if (it != null) {
return $objectWrappers.wrap(it).count()
} else {
return null
}
})
// 输出:第一个非空的字符串长度(或 null): null
$console.log("第一个非空的字符串长度(或 null): ", firstNonNullLengthOrNull)
local data = _objectWrappers:wrap(_arrays:arrayOf(_plugins:loadClass("java.lang.String"), nil, nil, nil))
-- 尝试获取第一个非空的字符串长度,如果所有元素都为空,则返回 nil
local firstNonNullLengthOrNull = data:firstNotNullOfOrNull(function(it)
if (it ~= nil) then
return _objectWrappers:wrap(it):count()
else
return nil
end
end)
-- 输出:第一个非空的字符串长度(或 nil): nil
_console:log("第一个非空的字符串长度(或 nil): ", firstNonNullLengthOrNull)
<?php
$data = $objectWrappers->wrap($arrays->arrayOf($plugins->loadClass("java.lang.String"), null, null, null));
// 尝试获取第一个非空的字符串长度,如果所有元素都为空,则返回 null
$firstNonNullLengthOrNull = $data->firstNotNullOfOrNull(function ($it) {
if ($it != null) return $objectWrappers->wrap($it)->count(); else return null;
});
// 输出:第一个非空的字符串长度(或 null): null
$console->log("第一个非空的字符串长度(或 null): ", $firstNonNullLengthOrNull);
data = _objectWrappers.wrap(_arrays.arrayOf(_plugins.loadClass("java.lang.String"), None, None, None))
# 尝试获取第一个非空的字符串长度,如果所有元素都为空,则返回 None
firstNonNullLengthOrNull = data.firstNotNullOfOrNull(
lambda it: _objectWrappers.wrap(it).count() if it != None else None)
# 输出:第一个非空的字符串长度(或 None): None
_console.log("第一个非空的字符串长度(或 None): ", firstNonNullLengthOrNull)
# encoding: utf-8
data = $objectWrappers.wrap($arrays.arrayOf($plugins.loadClass("java.lang.String"), nil, nil, nil))
# 尝试获取第一个非空的字符串长度,如果所有元素都为空,则返回 nil
firstNonNullLengthOrNull = data.firstNotNullOfOrNull { |it|
if it != nil then
$objectWrappers.wrap(it).count()
else
nil
end
}
# 输出:第一个非空的字符串长度(或 nil): nil
$console.log("第一个非空的字符串长度(或 nil): ", firstNonNullLengthOrNull)
Last modified: 31 August 2025