📄 reflectiontest.java
字号:
/**
* $Log: ReflectionTest.java,v $
* Revision 1.1 2003/01/16 13:07:32 mwulff
* initial version
*
* Revision 1.4 2003/01/13 12:49:20 mwulff
* adjusted to methods in ParameterTester
*
* Revision 1.3 2003/01/02 11:57:56 mwulff
* no message
*
* Revision 1.2 2002/12/15 16:50:48 mwulff
* adjusted to reorganisation of the client logging system
*
* Revision 1.1 2002/12/14 22:41:09 mwulff
* no message
*
*/
package de.fhm.jkf.test.cl;
import java.lang.reflect.Method;
import junit.framework.TestCase;
import junit.framework.TestResult;
import de.fhm.jkf.test.sv.ParameterTesterImpl;
import de.fhm.jkf.utils.clsv.ReflectionUtils;
/**
* @author marten wulff
*
* * <br><br><center><table border="1" width="80%"><hr>
* <strong><a href="http://jkf.sourceforge.net">The JKF Project</a></strong>
* <p>
* Copyright (C) 2002 by Marten Wulff
* <p>
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* <p>
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* <p>
* You should have received a copy of the <a href="http://www.gnu.org/copyleft/lesser.html">
* GNU Lesser General Public License</a> along with this library; if not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
* <hr></table></center>
*/
public class ReflectionTest extends TestCase {
/**
* Constructor for ReflectionTest.
*/
public ReflectionTest() {
super();
}
/**
* Constructor for ReflectionTest.
* @param arg0
*/
public ReflectionTest(String arg0) {
super(arg0);
}
public TestResult run() {
TestResult result = new TestResult();
Object[] params = null;
Object clazzObject = new ParameterTesterImpl(1);
Class clazz = clazzObject.getClass();
String methodName = null;
Method method = null;
try{
params = new Object[1];
params[0] = new Integer(2);
methodName = "takeIntAndGiveInt";
method = ReflectionUtils.findMethod(clazz, methodName, params);
System.out.println(method.invoke(clazzObject, params));
params = new Object[2];
params[1] = new String("Foo");
methodName = "methodName";
params[0] = new Short((short)1);
method = ReflectionUtils.findMethod(clazz, methodName, params);
System.out.println(method.invoke(clazzObject, params));
params[0] = new Integer(4);
method = ReflectionUtils.findMethod(clazz, methodName, params);
System.out.println(method.invoke(clazzObject, params));
params[0] = new Long(4);
method = ReflectionUtils.findMethod(clazz, methodName, params);
System.out.println(method.invoke(clazzObject, params));
params[0] = new Float(4);
method = ReflectionUtils.findMethod(clazz, methodName, params);
System.out.println(method.invoke(clazzObject, params));
params[0] = new Double(4);
method = ReflectionUtils.findMethod(clazz, methodName, params);
System.out.println(method.invoke(clazzObject, params));
params[0] = new Character('4');
method = ReflectionUtils.findMethod(clazz, methodName, params);
System.out.println(method.invoke(clazzObject, params));
params[0] = new Boolean("true");
method = ReflectionUtils.findMethod(clazz, methodName, params);
System.out.println(method.invoke(clazzObject, params));
params[0] = new Byte("4");
method = ReflectionUtils.findMethod(clazz, methodName, params);
System.out.println(method.invoke(clazzObject, params));
}catch(Exception nsm) {
nsm.printStackTrace();
}
return result;
}
public static void main(String[] args) {
new ReflectionTest().run();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -