作业帮 > 综合 > 作业

if(field.getType() == String.class){ } 为什么必须要有这句?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/08/26 08:53:51
if(field.getType() == String.class){ } 为什么必须要有这句?
private static void changeStringValue(Object obj) throws Exception {
// TODO Auto-generated method stub
Field[] fields = obj.getClass().getFields();
for (Field field :fields) {
if(field.getType() == String.class){
String oldValue = (String) field.get(obj);
String newValue = oldValue.replace('b','a');
field.set(obj,newValue);
}
}
}
其实就是判断一下一个类中的属性的类型是不是String
再问: 为什么需要判断?不要这句行不?直接执行下面的语句不行吗?
再答: changeStringValue你的方法的名字明显是要改变String类型数据的值,如果你不判断就直接操作,如果不是String类型的话,你的程序就会有潜在的危险了,也就是说:如果不是String类型,而你在后续的操作中默认作为String类型来处理,这就会导致问题的,你说呢?