我正在尝试制作一个方法,该方法的参数为Country.class
,User.class
等等,然后返回argument.count()
。
我将为该方法提供的所有可能的类均从该方法扩展Model
并具有方法count()
。
我的代码:
private static long <T> countModel(Model<T> clazz)
{
// there is other important stuff here, which prevents me from
// simply by-passing the method altogether.
return clazz.count();
}
致电者:
renderArgs.put("countryCount", countModel(Country.class));
但是,这根本不起作用。
请问我该怎么做?
我想你想做
private long countModel(Class<? extends Model> clazz) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException
{
Method countMethod = clazz.getDeclaredMethod("count", null);
return (Long) countMethod.invoke(null, null);
}
希望像这样的东西行得通(我的反思能力真的不是那么好)。
问题内容: 我有一个界面: 和一个实现它的类 第三类实现了此方法: 现在我试图像这样调用该方法 但我不断得到一个例外说: 如果它连接了该类,该方法不起作用吗? 问题答案: 也许你需要
问题内容: 我有3类调用,和。 在我的课程中,我想要一个这样的方法: 因此,例如,我想: 如何将类名作为参数,并基于该类名从类名创建适当的对象? 问题答案: 使用反射是可能的。这里是给定的className(作为字符串传递)。此类将在内存中搜索(应该已经加载)。 作为字符串传递时要实例化的类的名称应 完全限定
我正在编写一个方法,如果我想将一个类传递给一个方法,其中代码的一部分包括检查对象是否属于某种类型。这就是我想要的(但显然不行): 关于如何做到这一点有什么提示吗?谢谢!
问题内容: 在Java中,如何将一个函数作为另一个函数的参数传递? 问题答案: Java 8及以上 如果你的类或接口只有一个抽象方法(有时称为SAM type),则使用Java 8+ lambda表达式,例如: 然后可以在使用MyInterface的任何地方替换lambda表达式: 例如,你可以非常快速地创建一个新线程: 并使用方法引用语法使其更加清晰: 如果没有 lambda表达式,则最后两个示
问题内容: 我已经熟悉Android框架和Java,并希望创建一个通用的“ NetworkHelper”类,该类可以处理大多数联网代码,使我能够从中调用网页。 我遵循了来自developer.android.com的这篇文章来创建我的网络类:http : //developer.android.com/training/basics/network- ops/connecting.html 码:
我写了以下方法 我如何将不同的枚举类型传递给第二个参数?我知道我不能创建枚举的实例,但初始化枚举意味着我将传递一个值,而不是整个初始化的枚举,如下所示...其他枚举也将传递给相同的方法以实现组合细节