0 0

java 反射错误5

实体类:
public class Hotel {

private long id;

public long getId() {
return id;
}

public void setId(long id) {
this.id = id;
}
}

测试方法:
public void testReflect() throws Exception{
Object object = Hotel.class.newInstance();
String setMethod = "setId";
Method method = object.getClass().getDeclaredMethod(setMethod, new Class[]{Object.class});
method.invoke(object, new Object[]{1L});
}

出错信息:
java.lang.NoSuchMethodException: setId
at java.lang.ClassCache.findMethodByName(ClassCache.java:247)
at java.lang.Class.getDeclaredMethod(Class.java:731)
at java.lang.reflect.Method.invokeNative(Native Method)





问题补充:
abstruct 写道
Method method = object.getClass().getDeclaredMethod(setMethod, new Class[]{long.class});

正解,包装类和基本类型这时候不能自动打包解包

4个答案 按时间排序 按投票排序

0 0

采纳的答案

Method method = object.getClass().getDeclaredMethod(setMethod, new Class[]{long.class});

2012年4月21日 15:52
0 0

亲,其实这样写就可以了!
Method method = Hotel.class.getMethod("setId",long.class);

2012年4月21日 17:03
0 0

public static void main(String[] args) throws Exception{
Object o = Hotel.class.newInstance();
String setMethod = "setId";
Method[] methods = o.getClass().getMethods();
for(int i=0;i<methods.length;i++){
Method m = methods[i];
// System.out.println(m.getName());
if(m.getName().equals("setId")){
System.out.println("1111");
m.invoke(o, new Object[]{1L});
}

}
//method.invoke(o, new Object[]{1L});
}

2012年4月21日 14:32
0 0

public void testReflect() throws Exception{
Object object = Hotel.class.newInstance();
String setMethod = "setId";
Method method = object.getClass().getMethod(setMethod);
method.invoke(object, new Object[]{1L});
}

2012年4月21日 14:07

相关推荐

    JAVA 反射机制应用

    Java反射机制是Java语言提供的一种强大功能,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射机制的核心类是java.lang.Class,它代表了运行时的类信息。通过Class对象,我们...

    Java反射简单小实例

    ### Java反射机制简介 Java反射机制是Java编程语言的一个强大特性,它允许程序在运行时检查自身,并且能够“看”到类的信息(字段、方法等),甚至可以在运行时调用这些方法或修改这些字段的值。这为开发带来了很大...

    Java 反射机制 代码的实例

    Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、对象等的内部结构。通过反射,开发者可以动态地获取类的信息并调用其方法,创建对象,访问私有成员,甚至改变类的行为。在深入...

    Java反射函数机制实现List转换Json

    Java反射机制是Java语言提供的一种强大功能,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射主要用于在运行时分析类和对象,包括获取类的信息、创建对象、调用方法以及访问和...

    java 反射中操作数组

    本文将详细解释如何在Java反射中操作数组。 首先,我们创建一个字符串数组`String[] sArr = {}`。要获取这个数组的`Class`对象,我们可以调用`getClass()`方法,即`Class css = sArr.getClass();`。这个`Class`对象...

    java反射机制,很安逸.不要错过

    Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查并操作类、接口、字段和方法的信息,打破了通常编译时静态绑定的限制。通过反射,我们可以动态地创建对象,调用方法,访问和修改字段值,甚至...

    java反射Demo

    Java反射是Java编程语言中的一个强大特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个特性在处理现实业务问题时尤其有用,例如实现插件化、元编程、动态代理等...

    利用java反射机制的建议计算器源码

    Java反射机制是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。这个特性使得Java具有了高度的动态性和灵活性。在这个“利用java反射机制的建议计算器源码”中...

    java反射demo

    Java反射是Java编程语言中的一个强大特性,它允许运行时的程序访问并操作类、接口、字段和方法等对象,即使这些对象在编译时并未被明确地引用。这个过程通常涉及类加载、类信息获取、方法调用以及字段访问等操作。在...

    android系统java反射机制详解

    Java反射机制是Java编程语言中的一个强大工具,它允许程序在运行时检查和操作类、接口、对象等的内部信息。在Android系统中,Java反射机制同样被广泛应用,尤其是在动态加载类、处理不确定类型的对象、调用私有方法...

    Java反射详解.pdf

    文章还提到了在使用反射时可能会遇到的一些问题,比如构造函数参数错误、非法访问异常等,这些都需要在实际编程中通过异常处理机制来妥善处理。 由于文档内容是通过OCR技术扫描得到,可能存在一些不准确或者遗漏的...

    基于java反射的验证框架

    Java反射是Java编程语言中的一个强大工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在本话题中,我们将深入探讨基于Java反射的验证框架,了解其工作原理、应用场景以及如何利用它来...

    Java Reflection(JAVA反射)详解

    Java反射是Java编程语言的核心特性之一,它允许程序员在运行时检查和操作类、接口、字段和方法等对象。这使得Java程序具有高度的灵活性和动态性,可以在不事先知晓具体类信息的情况下处理对象。 首先,要使用Java...

    java反射机制介绍

    Java反射机制是Java语言的一项重要特性,它允许程序在运行时动态地获取类的信息并进行操作。这使得Java具备了高度的灵活性和可扩展性,能够处理编译时未知的类,增强了代码的动态性。 首先,Java反射机制的核心在于...

    JAVA反射知识总结

    在使用反射时,应确保安全性、效率以及异常处理,避免因反射错误导致程序崩溃。 以上知识点详细描述了JAVA反射的基本使用方法和操作步骤。通过这些知识点,可以有效地在Java程序中使用反射机制来访问和操作类的内部...

    java-fanshejizhi.rar_java 反射

    Java反射机制是Java编程语言中的一个核心特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。这种能力使得Java开发者能够在运行时动态地获取类的信息(如类名、方法名、参数类型等)并调用...

    快速掌握java反射原理

    Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射机制的核心类是`java.lang.Class`,它代表了类的信息。通过反射,我们可以动态地...

    Java反射相关学习

    Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射机制的核心在于`java.lang.Class`类以及相关的接口和类,如`java.lang.reflect`包下...

    java反射的简单代码例子

    Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射主要用于在运行时分析类和对象,包括访问私有成员、调用私有方法、创建动态代理以及...

Global site tag (gtag.js) - Google Analytics