gpt4 book ai didi

java - 按修饰符对包含方法的数组进行排序

转载 作者:行者123 更新时间:2023-12-02 15:53:27 24 4
gpt4 key购买 nike

免责声明:这只是我目前正在做的家庭作业的一部分

假设我有一个方法数组,其中包含我声明的所有方法

Method methodList[] = classGetter.getDeclaredMethods();

在哪个classGetter中简单地获取我想要获取其方法的类。有没有办法通过与该方法关联的修饰符类型来对该数组进行排序?当我使用

打印出修饰符时,我看到了
for(Method m: methodList){
System.out.println(m.getModifiers());
}

它返回整数值。我尝试使用 Arrays.sort 方法进行排序,但出现错误异常。有什么指点吗?

最佳答案

由于方法不是可比较,因此您必须指定一个比较器来确定顺序,例如:

Arrays.sort(methodList, Comparator.comparingInt(Method::getModifiers));

您可以应用掩码来删除那些与您所需的顺序无关的位,例如:

Arrays.sort(methodList, Comparator.comparingInt(
m -> m.getModifiers()&(Modifier.PUBLIC|Modifier.PRIVATE|Modifier.PROTECTED)));

关于java - 按修饰符对包含方法的数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34176247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com