当前位置: 首页 > 知识库问答 >
问题:

如何获取类中所有私有数据成员的名称

宋英杰
2023-03-14

共有1个答案

谷梁鸣
2023-03-14

这应该能奏效。基本上,您在一个列表中得到了类的所有字段,并删除了不是私有的字段。:

public static void main(String [] args){
    List<Field> list = new ArrayList<>(Arrays.asList(A.class.getDeclaredFields()));

    for(Iterator<Field> i = list.iterator(); i.hasNext();){
        Field f = i.next();
        if(f.getModifiers() != Modifier.PRIVATE)
            i.remove();
    }
    for(Field f : list)
        System.out.println(f.getName());
}

产出:

fieldOne
fieldTwo

A类:

class A {
    private String fieldOne;
    private String fieldTwo;

    private final String fieldFinal = null;

    public char c;
    public static int staticField;
    protected Long protectedField;
    public String field;
}
 类似资料:
  • Singleton设计模式说我们应该在“single instance”类中定义一个私有静态属性。但是,没有适当的解释为什么数据成员必须是私有静态的。如果数据成员只是私有的,会有什么不同吗? 在以下代码中: 如果数据成员不是静态的,会有什么不同吗? 编辑:通过公开析构函数,它会改变单例设计的属性吗?

  • 我是kotlin的新手,当我阅读kotlin中的数据类时,我发现了这些代码。这基本上是java模型类和kotlin数据类之间的比较,而且这两个代码都执行相同的任务。 代码1 代码2 我的问题是,在数据类中,所有变量都是公共的而不是私有的,任何人都可以在此类对象的帮助下直接访问变量,但在java代码中,所有变量都是私有的,这就是为什么我们必须为这些成员变量编写getter和setter,如果它是公共

  • 这是我课堂的一部分: 我想访问Lambda的私有成员变量output_文件,它位于公共成员函数dump_dvars中。当我捕获this指针时,我无法访问该变量,因为它是私有的,但我也不想将其公开!我已经读过这个问题(如何让lambda成为一个类的朋友?)但我不想创建另一个函数。因此,我目前解决这个问题的方法是创建对私有成员的引用,并通过引用捕获列表将该变量传递给我的Lambda。 这是一个好的解决

  • 问题内容: 是否有一种快速的方法可以从中的所有表获取所有列名,而不必列出所有表? 问题答案:

  • 问题内容: 我已经尝试过此代码 但这会引发错误: 如何获取所有表名? 问题答案: 经过检查,测试和运行。试试这个代码: 我假设,在一行的某个点上,您将获取一个 表名 列表,以可能以a 或某种形式显示。不只是展示吐司。 未经测试的代码。 这就是我的首要想法。在生产应用中使用它之前,请先进行测试。;-) 在这种情况下,请考虑对上面发布的代码进行以下更改:

  • 我正在尝试获取数据库(Oracle 11g)中的所有表名,以便为UI中的每个表动态生成复选框。我没有映射.cfg.xml文件中的任何这些表。 我使用了下面的代码: 但它的错误如下:组织。冬眠hql。内部的ast。QuerySyntaxException:未映射user\u表[从user\u表中选择table\u名称] 请告诉我是否有任何方法可以在Hibernate 4中获取所有表名