我对java有点陌生,似乎找不到解决问题的好办法。我加载一个类,并有一组规则,我想比较该类的每个方法。
for(Method methods : methods){
if(checkMethod(methods)){
//Method is approved
}
else{
//Method is not approved
}
}
我在这里的问题是,我想要么从已经存在的方法数组中删除该方法,要么将已批准的方法添加到新的数组中并分别保存它们。方法[]似乎无法删除其数组中的对象?当创建第二个数组,然后使用以下方法时:
if(checkMethod(methods)){
approvedMethods[i] = methods;
}
感觉我做错了什么,第二个数组将不包含任何批准的方法。是否可以从原始数组中删除一个对象,或者是创建第二个对象的正确方法,如果是这样,如何将它们正确地添加到新数组中?似乎找不到认可的方法。put()/add()。
checkmethod()方法没有任何问题,用多个案例对其进行了测试,并给出了示例输出。
1条答案
按热度按时间4urapxun1#
就像这样:
通过阵列
methods
,过滤所需的方法,并将它们返回到新数组中。在java中,不能使用
remove
类a方法。对于这种功能,请使用ArrayList
相反。如果只想使用数组,则必须执行以下操作:
首先,找出可接受方法的数量,以便事先知道需要为数组分配多少空间:
然后为该数组分配空间:
现在添加适合您的约束的方法:
这种方法的一个缺点是它会遍历数组两次。