<Student>
<number>122</number>
<CVF>PG</CVF>
</Student>
class Student
{
char grade
}
现在,我需要通过解析上面的XML来设置上面学生对象的成绩值
XML中的这个CVF元素可以有两个值PG或MQ
根据业务,如果是PG,则其值应为1或0
我用这种方式定义。
Student.grade = (attribute.getValue().toString()=="PG"?'1' : '0');
如果有更好的代码适合上述要求,请告诉我?
答案 0 :(得分:1)
几点:
attribute.getValue()
是正确的。attribute.getValue()
返回字符串,则没有理由致电toString()
。equals()
时使用Strings
not ==,除非您知道他们是实习生。Student.grade
。你有一个类型的变量
Student
名称为s
,然后您可以说s.grade
。
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);
}
答案 1 :(得分:0)
假设等级定义为char。
Student.grade =(“PG”.equals(attribute.getValue()。toString())?'1':'0');
答案 2 :(得分:0)
不要将字符串与&#34; =&#34;进行比较。这样做总是更好。
Student.grade =(&#34; PG&#34; .equals(attribute.getValue()。toString()))?&#39; 1&#39; :&#39; 0&#39;;