📄 classutil.java
字号:
/**
*
*/
package net.sf.oxmled.common.util;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
/**
* @author shendl
*
*/
public class ClassUtil {
/**
*
*/
public ClassUtil() {
// TODO Auto-generated constructor stub
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
/**
* 返回某个类型所有的字段,包括继承的,所实现的接口的,也包括私有的等等。
* 尚未实现!
* @param clazz
* @return
*/
public static List<Field> getAllFields(Class clazz){
List<Field> result=new ArrayList<Field>();
//Class.forName("").getClass().getFields()
return result;
}
/**
* private void findBaseClassImplementsInterface(List result,Class claze){
Class[] interfaces=claze.getInterfaces();
}
* @param result
* @param claze
*/
/**
* 找出一个类是否实现了某个接口
* @param claze
* @param targetInterface
* @return
*/
public static boolean isImplementsInterface(Class claze,Class targetInterface){
//当前类实现的接口
/**
* 所有接口和接口继承的接口
* 需要找出所有接口
* Recursion
* 还要考虑基类
*/
Class[] interfaces=claze.getInterfaces();
for(int i=0;i<interfaces.length;i++){
if(targetInterface.equals(interfaces[i])){
return true;
}else{
if(ClassUtil.isImplementsInterface(interfaces[i], targetInterface)){
return true;
}
}
}
/**
* 基类,和基类实现的接口。
*
*/
Class superClass=claze.getSuperclass();
if(superClass!=null){
if(ClassUtil.isImplementsInterface(superClass, targetInterface)){
return true;
}
}
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -