/**
* getClass
* @param clazzName
* @return
*/
public static Class getClass(String clazzName){
Class clazz = null;
try {
clazz = Class.forName(clazzName);
Constructor[] cv = clazz.getConstructors();
Object obj = cv[0].newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return clazz;
}
/**
* getConstructor
* @param clazz
* @param parametersClazz
* @return
*/
public static Constructor getConstructor(Class clazz,Class... parametersClazz){
Constructor cns = null;
try {
cns = clazz.getConstructor(parametersClazz);
} catch (Exception e) {
e.printStackTrace();
}
return cns;
}
/**
* getInstance
* @param cns
* @param initargs
* @return
*/
public static Object getInstance(Constructor cns,Object... initargs){
Object obj = null;
try {
obj = cns.newInstance(initargs);
} catch (Exception e) {
e.printStackTrace();
}
return obj;
}
/**
* getMethod
* @param clazz
* @param methodName
* @param parametersClazz
* @return
*/
public static Method getMethod(Class clazz,String methodName, Class... parametersClazz){ //注:若方法参数为基本数据类型需要转换,例如int -》Integer.TYPE
Method method = null;
try {
method = clazz.getMethod(methodName, parametersClazz);
} catch (Exception e) {
e.printStackTrace();
}
return method;
}
/**
* invokeMethod
* @param method
* @param obj
* @param args
*/
public static Object invokeMethod(Method method, Object obj,Object... args){
Object result = null;
try {
result = method.invoke(obj, args); //注:如果方法本身返回void则此处返回null
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
* getClass
* @param clazzName
* @return
*/
public static Class getClass(String clazzName){
Class clazz = null;
try {
clazz = Class.forName(clazzName);
Constructor[] cv = clazz.getConstructors();
Object obj = cv[0].newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return clazz;
}
/**
* getConstructor
* @param clazz
* @param parametersClazz
* @return
*/
public static Constructor getConstructor(Class clazz,Class... parametersClazz){
Constructor cns = null;
try {
cns = clazz.getConstructor(parametersClazz);
} catch (Exception e) {
e.printStackTrace();
}
return cns;
}
/**
* getInstance
* @param cns
* @param initargs
* @return
*/
public static Object getInstance(Constructor cns,Object... initargs){
Object obj = null;
try {
obj = cns.newInstance(initargs);
} catch (Exception e) {
e.printStackTrace();
}
return obj;
}
/**
* getMethod
* @param clazz
* @param methodName
* @param parametersClazz
* @return
*/
public static Method getMethod(Class clazz,String methodName, Class... parametersClazz){ //注:若方法参数为基本数据类型需要转换,例如int -》Integer.TYPE
Method method = null;
try {
method = clazz.getMethod(methodName, parametersClazz);
} catch (Exception e) {
e.printStackTrace();
}
return method;
}
/**
* invokeMethod
* @param method
* @param obj
* @param args
*/
public static Object invokeMethod(Method method, Object obj,Object... args){
Object result = null;
try {
result = method.invoke(obj, args); //注:如果方法本身返回void则此处返回null
} catch (Exception e) {
e.printStackTrace();
}
return result;
}