请问大神们 !"class"是什么意思

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")

就是否的意思,那句话的意思是判断pd.getName()不等于“class”,就是字符串比较

这里只是一个字符串“class”,判断pd.getName()获取的是否是这个字符串

首现是BeanInfo info = Introspector.getBeanInfo(user.getClass());里面user.getClass(),info.getPropertyDescriptors();之后返回的pds,pd.getName()就是pds中的getname()出来的字符串,那么问题中的"class"就是说你取出来的字符串和这个是否匹配

就是个字符串常量而已。。。。。。。。。。。。。

这里的'class' 是一个字符串引用类型

"class".equals(pd.getName()) 这一句就是判断 pd.getName()或者的字符串是否 等于 "class",前边加上一个“!”就表示取反或者否的意思,
就是判断pd.getName()或者的字符串是否 等于 "class"。

就跟 "==" 和 "!="似的,"=="判断是否等于, "!="判断是否不等于。 字符串不能用 "=="和"!="来比较,所有用了equals方法和用 "!" 来进行取反。

就是一个字符串而已,值就是class。

非常感谢以上各位大神 的帮助!