gpt4 book ai didi

Java : with respect to Ternary Operator for this requirement

转载 作者:行者123 更新时间:2023-12-01 15:33:39 25 4
gpt4 key购买 nike

<Student>
<number>122</number>
<CVF>PG</CVF>
</Student>

class Student
{
char grade
}

现在,我需要通过解析上面的 XML 来设置上面的 Student 对象的成绩值

XML 中的此 CVF 元素可以有两个值:PG 或 MQ

根据业务,如果是PG则其值为1,否则为0

我是这样定义的。

Student.grade = (attribute.getValue().toString()=="PG"?'1' : '0');

请告诉我是否有更好的代码适合上述要求?

最佳答案

几点:

  1. 我不知道您正在使用什么 XML 库,但 不是属性。但我们假设 attribute.getValue() 是正确的。
  2. 如果 attribute.getValue() 返回字符串,则没有理由调用 toString()
  3. 比较字符串时使用equals()而不是==,除非您知道它们是内部的。
  4. 除非它是静态字段,否则不要编写 Student.grade。你有一个类型的变量学生的名字,比如s,然后你可以说s.grade
  5. 如果输入尚未经过验证,您可能需要删除三元运算符并执行以下操作:


Student s = ...
String val = attribute.getValue().toString();
if ("PG".equals(val)) {
s.grade = '1';
}
else if ("MQ".equals(val)) {
s.grade = '0';
}
else {
throw new RuntimeException("illegal value for CVF: " + val);
}

关于Java : with respect to Ternary Operator for this requirement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9234071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com