Java 字符串浓缩的三元运算符导致部分内容丢失?
你认为结果如何?我希望是中缀前缀。但实际上结果是:midfix 这是java库本身1.7中的错误吗?我应该为此报告一个bug吗?或者这是我的初衷,而我滥用了它 可以使用以下方法进行修复: 字符串消息=前缀+有效!=无效的中缀:后缀; 但无论如何,如果没有制动器,它就不能工作吗?评估如下:Java 字符串浓缩的三元运算符导致部分内容丢失?,java,Java,你认为结果如何?我希望是中缀前缀。但实际上结果是:midfix 这是java库本身1.7中的错误吗?我应该为此报告一个bug吗?或者这是我的初衷,而我滥用了它 可以使用以下方法进行修复: 字符串消息=前缀+有效!=无效的中缀:后缀; 但无论如何,如果没有制动器,它就不能工作吗?评估如下: Boolean isValid = true; String message = "prefix" + isValid != null ? " midfix " : "suffix"; System.out.p
Boolean isValid = true;
String message = "prefix" + isValid != null ? " midfix " : "suffix";
System.out.println(message);
这相当于:
String message = (("prefix" + isValid) != null) ? " midfix " : "suffix";
因此,将返回midfix
如果希望返回前缀midfix,请使用括号:
String message = ("prefixtrue" != null) ? " midfix " : "suffix";
评估结果如下:
Boolean isValid = true;
String message = "prefix" + isValid != null ? " midfix " : "suffix";
System.out.println(message);
这相当于:
String message = (("prefix" + isValid) != null) ? " midfix " : "suffix";
因此,将返回midfix
如果希望返回前缀midfix,请使用括号:
String message = ("prefixtrue" != null) ? " midfix " : "suffix";
前缀+有效!=Null这是关于运算符优先级的..前缀+isValid!=这是关于运算符优先级的。。