zoukankan      html  css  js  c++  java
  • 利用反射查看类的详细信息

    package test.my.chap0302;
    
    import java.lang.reflect.Constructor;
    import java.lang.reflect.Field;
    import java.lang.reflect.Method;
    import java.lang.reflect.Modifier;
    import java.util.Date;
    
    public class StringUtils {
    	
    	@SuppressWarnings("unchecked")
    	public String toString(Object obj){
    		StringBuilder sb = new StringBuilder();
    		Class cs = obj.getClass();//获取该类的class对象
    		String clasName = cs.getSimpleName(); //获取该类的类名
    		Package packageName = cs.getPackage(); //包名
    		sb.append("包名是:"+packageName+"
    ");
    		sb.append("类名是:"+clasName+"
    ");
    		Constructor[] cons = cs.getDeclaredConstructors(); //所有构造器
    		for(Constructor con:cons){
    			String modifer = Modifier.toString(con.getModifiers());
    			if(modifer.contains("public")){
    				sb.append("构造器:"+con.toGenericString()+"
    ");
    			}
    		}
    		Method[] ms = cs.getDeclaredMethods(); //所有方法
    		for(Method md:ms){
    			String modifer = Modifier.toString(md.getModifiers());
    			if(modifer.contains("public")){
    				sb.append("方法:"+md.toGenericString()+"
    ");
    			}
    		}
    		Field[] fields = cs.getDeclaredFields();
    		for(Field f:fields){
    			String modifier = Modifier.toString(f.getModifiers());
    			if(modifier.contains("public")){
    				sb.append("公共字段:"+f.toGenericString()+"
    ");
    			}
    		}
    		return sb.toString();
    	}
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		System.out.println(new StringUtils().toString(new Date()));
    	}
    
    }
    
  • 相关阅读:
    vscode设置js文件自动格式化单引号
    解决git每次输入账号密码问题
    vscode设置vouter标签不换行
    查看修改npm地址并登录
    正则匹配[]外部的内容
    使用v-model实现父子组件之间传值
    发布网站
    安装IIS
    IIS服务添加角色
    react生命周期
  • 原文地址:https://www.cnblogs.com/harbin1900/p/8480942.html
Copyright © 2011-2022 走看看