Java:单行三元运算符 if stmt

标签 java

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

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

有两种情况:- 场景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:单行三元运算符 if stmt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47293806/

相关文章:

java - 如何在 android 中清除 int[] 数组?

java - 连接到 AS400 时 Hibernate/JPA 验证失败

java 。序列化数组

java - "JavaSonarQube"和 "Java Common Sonarqube"的分析器

javax.jws.WebService : Could not generate specified XSD file

java - 使用 freemarker 发送消息

java - libGDX:我如何告诉核心游戏 getIconImageUri() 并将其用作我的游戏中的图像 Actor

java - 如何从测试类中删除实例 "driver"

java - 注释中的枚举中的引用值是什么?

java - 如何从系统环境中定义的外部属性文件配置 Spring Boot 数据源?