您能帮我编写高效的Java代码吗?

逻辑是:
我必须读取文件中的第一条有效记录并生成文件名。无效/有效记录由该行的前2个字符标识。无效的记录的前2个字符填充在名为ignoreTrans(作为参数传递)的ArrayList中。

有2种情况:
方案1:文件中的所有记录均有效,在这种情况下,ignoreTrans将为空
方案2:文件具有无效的记录,其中已通过传递的参数填充ignoreTrans。

我想写一个如下的三元运算符:

FileName = ignoreTrans.isEmpty() ? getFileName(pos) : (if (!ignoreTrans.contains(line.substring(0,2))) getFieldName(pos));


该语句有误。您能否建议如何在if中使用三元。

谢谢,

最佳答案

尝试

FileName = ignoreTrans.isEmpty() ? getFileName(pos) : !ignoreTrans.contains(line.substring(0,2))) ? getFieldName(pos) : "";


就像如何拥有嵌套的if结构一样,您也可以嵌套三元运算符。

关于java - Java:如果为stmt,则单行三元运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47293806/

10-12 02:34