我将在10个文本小部件中显示一些变量。这些变量可以是字符串,也可以是空的。有一种比这更简单的方法来进行验证,一个接一个:?
object.name.isNotEmpty ? object.name : "not typed"
qncylg1j1#
试试这个检查是否为空字符串
object.name ?? 'default value'
检查它是否为null或空字符串
object.name?.isEmpty ?? 'default value'
??双问号运算符表示"if null"。以下面的表达式为例。String a = b ?? 'hello';这意味着a等于b,但如果b为null,则a等于'hello'。
??
String a = b ?? 'hello';
8wtpewkr2#
object.name ??= "not typed";
如果object.name为空,则它会赋值 "not typed"。您还可以使用双问号来检查其他内容是否为null以及是否为其分配了其他值:
object.name
object.name = null ?? "not typed"; // result: object.name = "not typed"; object.name = "typed" ?? "not typed"; // result: object.name = "typed";
编辑:如果需要检查某个字符串是否为空字符串,可以使用tenary expression,但是没有更多的运算符或string methods:
object.name = object.name != null && object.name.isNotEmpty ? object.name : "not typed";
wko9yo5t3#
如果我没理解错的话,你只需要简单地检查某个变量是否为空,然后相应地赋值给一个变量,为此你可以像这样使用OR运算符:
var x = object.name || "not typed"
如果object.name是真的(不是空字符串""),那么它将被赋值给你的变量(在本例中是x).如果object.name是空字符串/falsey,那么"not-typed"将被赋值给x.
""
x
"not-typed"
elcex8rz4#
我认为提供默认值最方便的方法是扩展String类。因此,使用如下方法创建一个类StringExtension:
StringExtension
extension StringExtension on String { String def(String defaultValue) { return isNotEmpty ? this : defaultValue; } }
在您看来,您现在只需:
import 'package:code/helpers/string_extension.dart'; String value; @override Widget build(BuildContext context) { return Text(value.def("Unknown")) }
gc0ot86w5#
要在JS中使用三元运算符检查字符串是否为空,可以用途:
let n = "" console.log(n.length > 0 ? "The string is not empty" : "The string is empty");
5条答案
按热度按时间qncylg1j1#
试试这个
检查是否为空字符串
检查它是否为null或空字符串
??
双问号运算符表示"if null"。以下面的表达式为例。String a = b ?? 'hello';
这意味着a等于b,但如果b为null,则a等于'hello'。8wtpewkr2#
如果
object.name
为空,则它会赋值 "not typed"。您还可以使用双问号来检查其他内容是否为null以及是否为其分配了其他值:
编辑:
如果需要检查某个字符串是否为空字符串,可以使用tenary expression,但是没有更多的运算符或string methods:
wko9yo5t3#
如果我没理解错的话,你只需要简单地检查某个变量是否为空,然后相应地赋值给一个变量,为此你可以像这样使用OR运算符:
如果
object.name
是真的(不是空字符串""
),那么它将被赋值给你的变量(在本例中是x
).如果object.name
是空字符串/falsey,那么"not-typed"
将被赋值给x
.elcex8rz4#
我认为提供默认值最方便的方法是扩展String类。
因此,使用如下方法创建一个类
StringExtension
:在您看来,您现在只需:
gc0ot86w5#
要在JS中使用三元运算符检查字符串是否为空,可以用途: