java,Method方法的两个小问题
项目经理给我改了两行代码,改后代码如下:Methodmethod=request.getClass().getMethod(name,newClass[]{});Stri...
项目经理给我改了两行代码,改后代码如下:
Method method = request.getClass().getMethod(name,new Class[]{});
String value = (String)method.invoke(request,new Object[]{});
我最开始的写法是:
Method method = request.getClass().getMethod(name);
String value = (String)method.invoke(request); //因为得到的method方法全是get方法,不含方法参数,所以直接用invoke(request)
给我加了一个new Class[]{} 和一个 new Object[]{},理由是这样写系统更安全...
那么...这样写怎么就更安全了呢.....感觉无非就是更规范了而已,我原来的代码运行也不会出错。
哪位大大给我讲讲为什么加了这些就更安全了.... 展开
Method method = request.getClass().getMethod(name,new Class[]{});
String value = (String)method.invoke(request,new Object[]{});
我最开始的写法是:
Method method = request.getClass().getMethod(name);
String value = (String)method.invoke(request); //因为得到的method方法全是get方法,不含方法参数,所以直接用invoke(request)
给我加了一个new Class[]{} 和一个 new Object[]{},理由是这样写系统更安全...
那么...这样写怎么就更安全了呢.....感觉无非就是更规范了而已,我原来的代码运行也不会出错。
哪位大大给我讲讲为什么加了这些就更安全了.... 展开
1个回答
展开全部
你好,在类中没有getMethod(String name);这个方法,我没有找到呢,你在哪里找到得?请赐教,谢谢。在类中我只看到getMethod(String name, Class<?>... parameterTypes);还有invoke()一个参数的方法我也没看到,我也看到invoke(Object obj, Object... args);我是小菜鸟一枚,你说你没有报错,为什么我像你那么写就报错呢?请告知,谢谢。
追问
不好意思 是我的表达错误 应该是把new Object和new Class换成null
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询