if(!"class".equals(pd.getName())){ 這句中的 !"class"是什麼意思
package cn.itcast.test;
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import org.junit.Test;
import cn.itcast.vo.user;
public class IntrospectorTest {
@Test
public void run() throws Exception{
user user = new user();
BeanInfo info = Introspector.getBeanInfo(user.getClass());
PropertyDescriptor [] pds = info.getPropertyDescriptors();
for (PropertyDescriptor pd : pds) {
if(!"class".equals(pd.getName())){
Method m = pd.getWriteMethod();
m.invoke(user, "admin");
}
}
System.out.println(user.getUsername());
}
}
分成兩部分
"!"和"class".equals(pd.getName())
"class".equals(pd.getName())的意思就是,比較pd.getName()這個方法的值是否與字符串"class"相等。
而"!"就是否定,不,非的意思。
連起來就是。。if(pd.getName的值不為"class")