当前位置: 首页 > 面试题库 >

迭代Java中的静态int值

戚均
2023-03-14
问题内容

我有一个简单的问题。有没有办法(使用我想的反射)来迭代类的所有静态值?

例如

class Any {
    static int one = 1;
    static int two = 2;
    static int three = 3;

    public static void main( String [] args ) {
          for( int i : magicMethod( Any.class ) ){
              System.out.println( i );
          }
    }
 }

输出量

 1
 2
 3

谢谢。


问题答案:
import java.util.*;
import java.lang.reflect.*;

class Any {
    static int one = 1;
    static int two = 2;
    static int three = 3;

    public static void main( String [] args ) {
          for( int i : magicMethod( Any.class ) ){
              System.out.println( i );
          }
    }

    public static Integer[] magicMethod(Class<Any> c) {
        List<Integer> list  = new ArrayList<Integer>();
        Field[] fields = c.getDeclaredFields();
        for (Field field : fields) {
            try {
                if (field.getType().equals(int.class) && Modifier.isStatic(field.getModifiers())) {
                    list.add(field.getInt(null));
                }
            }
            catch (IllegalAccessException e) {
                // Handle exception here
            }
        }
        return list.toArray(new Integer[list.size()]);
    }
 }


 类似资料:
  • 问题内容: 我有一个’ ‘ 形式的数组,它代表一个小网格的坐标。每个坐标已分配了自己的值。例如…… 我有两个问题。首先,我如何遍历所有存储的值。其次,我希望能够输入一个值并返回其在网格中的特定坐标。解决这个问题的最佳方法是什么? 感谢您的任何帮助! 问题答案: 您可以使用for循环或增强的for循环进行迭代: 要么 第一个版本将是“查找坐标”问题的最简单解决方案-只需检查内部循环中的值是否正确即可

  • 问题内容: 什么是迭代器和集合?这两个有关系吗? 接口迭代器是否只预定义了这些方法名称,还是用户定义了这些方法名称?下面的这四行实际上说明了什么? 谢谢。我正在看一本藏书。 问题答案: 顾名思义,Java集合是事物的集合。如果您不知道该单词,请在字典中查找。 有很多类型的集合。以集合的数学概念为例。您可以将任意事物放入集合中,但是永远不会包含同一事物。在集中的东西是没有顺序的,那就是你不能说 A

  • 问题内容: 我正在尝试运行一个for循环。这是我遇到问题的代码部分: 因此,我的目的是遍历aldurstengd_ororka,对于字典中的每个“年龄”元组,我为元组中的每个“项目”运行另一个for循环。我得到的错误是 TypeError:“ int”对象不可迭代 问题答案: 如果是字典,则此表达式: 是一个错误。也许您的意思是: 编辑:您看到的错误是非常有趣的,我确实使用此代码段重现了它: 代码

  • 本文向大家介绍详解 Java静态代理,包括了详解 Java静态代理的使用技巧和注意事项,需要的朋友参考一下   今天要介绍的是一个Java中一个很重要的概念——代理。   什么是代理?联系生活想想看,代理似乎并不陌生,最形象的代表便是经纪人,明星一般都有经纪人,经纪人作为中间人,负责代理明星的相关事宜,比如说,有人要请明星去唱歌表演,一般不会直接跟明星联系,而是联系他的经纪人,他的经纪人来负责安排

  • 问题内容: 有什么像在Java中吗? 这样的课是什么意思。静态类的所有方法都需要吗? 是否需要反过来,如果一个类包含所有静态方法,那么该类也应该是静态的吗? 静态类有什么用? 问题答案: Java具有静态嵌套类,但听起来你正在寻找顶级静态类。Java无法将顶级类设为静态,但是你可以像这样模拟静态类: 声明你的课程-阻止扩展课程,因为扩展静态课程没有意义 创建构造函数-防止通过客户端代码实例化,因为

  • 问题内容: 前几天,我在查看一些代码,然后发现: 来自C ++,我不知道为什么会这样。它不是错误,因为代码编译良好。这个“静态”代码块是什么? 问题答案: 这是一个静态初始化器。它是在加载类时执行的(确切地说是初始化,但通常不会注意到它们之间的区别)。 可以将其视为“类构造函数”。 请注意,还有一些实例初始化器,它们看起来一样,只是它们没有static关键字。当创建对象的新实例时,除了构造函数中的