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

嵌套类中的反射[重复]

寿鸣
2023-03-14
    public class TypesForSets {
        static <T> Set<T> fill(Set<T> set, Class<T> type) {
            try {
                for (int i = 0; i < 10; i++)
                    set.add(type.getConstructor(int.class).newInstance(i));
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
            return set;
        }

         static <T> void test(Set<T> set, Class<T> type) {
                fill(set, type);
         }

         public static void main(String[] args) {
                test(new HashSet<SetType>(), SetType.class);
         }

         class SetType {
            int i;

            public SetType(int n) {
                i = n;
            }
         }
    }

当我将settype单独作为公共类时,它工作得很好。

共有1个答案

石俊雄
2023-03-14

从您正在做的事情来看,您似乎希望将settype声明为static

目前,您正试图从TypesForSets静态方法实例化settype;也就是说,您在TypesForSets的任何实例之外执行此操作。除非从封闭类的实例中,否则不能实例化非静态内部类。

如果将settype作为一个单独的类放在它自己的文件中,那么它之所以能工作,是因为它没有一个封闭类。在另一个类中声明的静态类的工作方式与顶级类非常相似。

 类似资料:
  • 我不知道如何在Java类中处理嵌套的JSON值。为了尽可能简单,我创建了四个Java类,每个类都有“嵌套级别”。然而,我试图在一个Java类中包含所有这些值。我该怎么做? Json: Java类:

  • 我有两个嵌套的case类: 当然,解决方案应该是泛型的,并且适用于任何case类。 注意:这个讨论很好地回答了如何将单个case类映射到映射。但我无法将其用于嵌套的case类。相反,我得到了:

  • 问题内容: 我试图映射对象数组,每个数组包含另一个嵌套的对象数组。但是,该映射不适用于嵌套数组。我如何在嵌套数组的内容上进行映射,同时使所有的父对象保持相同? 小提琴: https : //jsfiddle.net/69z2wepo/249197/ 数据结构如下: 地图看起来像 问题答案: 由于每个元素都有一个数组,因此您也必须结束。 例

  • 问题内容: 我正在尝试为如下对象创建动态映射: 我希望属性为嵌套类型,该类型是我在下面的映射中使用nested_feature模板定义的,并且按预期工作。但是,我也想让属性的嵌套对象中的每个属性都带有定义的其他属性。我尝试了第二个nested_template模板,但没有成功。 不幸的是,属性中的属性是从另一个进程创建的,几乎可以是任何名称/值对。关于如何使用动态模板将属性设置为嵌套的任何建议,以

  • 我试图为对象创建一个动态映射,如下所示:

  • 随着ElasticSearch计划删除映射类型,这是否也意味着不再使用嵌套文档和嵌套查询?ElasticSearch将如何支持无类型上下文中的嵌套对象查询? 我正在考虑的功能是能够只返回匹配搜索条件的嵌套数组中的命中。 编辑1:ElasticSearch版本6中的映射查询示例 ElasticSearch 6映射 ElasticSearch 6查询