我最近得到了帮助,编写一个语句,检查输入文本是空白还是只有空格。我得到了它的工作,但由于它对我来说过于先进的重构,所以我不太了解代码。有人可以将此翻译成更基本的代码吗?
name = name == null ? "" : name.trim();
答案 0 :(得分:1)
您的代码类似于:
select @xmlColumn.value('(/event/@timestamp)[1]','datetime2'),
@xmlColumn.value('(/event/data[@name="error_number"]/value)[1]', 'int'),
@xmlColumn.value('(/event/action[@name="username"]/value)[1]', 'varchar(99)')
if else替换为“?:”运算符
答案 1 :(得分:1)
你看到的是一个“三元运算符”。它遵循以下语法:
boolean ? ifTrue : ifFalse
三元运算符与if / else语句的工作方式不同:它们为您提供了一个值(如3 + 4
)。
因此,在此示例中,您将name
设置为以下三元表达式的结果:
is name null? -+- true --> ""
|
+- false -> name.trim() (this function removes whitespace at
the beginning and at the end of the string)
你也可以写:
public static String parseName(String name)
{
if (name == null)
return "";
//else (else not neccesary here)
return name.trim();
}
// in some block...
name = parseName(name);
答案 2 :(得分:0)
如果name
等于null
,它将等于“”;
否则它将等于name.trim()
答案 3 :(得分:0)
name = name == null ? "" : name.trim();
这意味着
String name;
//You performed some processing here, your logic.
if(name==null){
name="";
}
else{
name=name.trim();
}