Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字符串浓缩的三元运算符导致部分内容丢失?_Java - Fatal编程技术网

Java 字符串浓缩的三元运算符导致部分内容丢失?

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

你认为结果如何?我希望是中缀前缀。但实际上结果是:midfix

这是java库本身1.7中的错误吗?我应该为此报告一个bug吗?或者这是我的初衷,而我滥用了它

可以使用以下方法进行修复:

字符串消息=前缀+有效!=无效的中缀:后缀; 但无论如何,如果没有制动器,它就不能工作吗?

评估如下:

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!=这是关于运算符优先级的。。