博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java获取类列表信息
阅读量:7048 次
发布时间:2019-06-28

本文共 8236 字,大约阅读时间需要 27 分钟。

hot3.png

    为什么会研究这个? 只要原因是在与本人在看网上的一些博客看源码的时候。很多人都会把该类的实现方法罗列出来。人工处理的话太麻烦了。所以写了这么个栗子。。

代码如下:

 

package com.example.daconfigclient.Collection;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;public class ClassUtil {    public static void getClass1(Object obj){        //获取类信息,首先要获取类的类类型        Class c1 = obj.getClass();        //获取类的名称        System.out.println("方法名称:"+c1.getName());        /**         * Method类是方法的对象         */        Method[] methods = c1.getMethods();        for (int i = 0; i < methods.length; i++) {            //获取该方法返回值类型            Class returnType = methods[i].getReturnType();            System.out.print(returnType.getName()+"---->>");            //获取该方法名称            System.out.print(methods[i].getName()+"(");                        //获取该类的参数            Class[] parameterTypes = methods[i].getParameterTypes();            for (Class class1: parameterTypes) {                System.out.print(class1.getName()+",");            }            System.out.println(")");                    }        /**         * 获取变量成员         */        System.out.println("获取变量成员");        Field[] declaredFields = c1.getDeclaredFields();        for (Field aa: declaredFields) {            //获取变量类型的类类型            Class type = aa.getType();            System.out.print(type.getName()+":");            //获取变量名称            System.out.print(aa.getName()+"\n");        }        /**         * 获取构造函数         */        System.out.println("获取构造方法");        Constructor[] declaredConstructors = c1.getDeclaredConstructors();        for (Constructor bb: declaredConstructors) {            //获取构造函数方法名称            System.out.print(bb.getName());            Class[] parameterTypes = bb.getParameterTypes();            System.out.print("(");            for (Class cc:parameterTypes) {                System.out.print(cc.getName()+",");            }            System.out.println(")");        }    }    public static void main(String[] args) {        ClassUtil classUtil = new ClassUtil();        classUtil.getClass1(new String());        System.out.println("****************type**********************************");        Integer aa = 1;        classUtil.getClass1(aa);    }}

    运行结果如下:

方法名称:java.lang.String

boolean---->>equals(java.lang.Object,)
java.lang.String---->>toString()
int---->>hashCode()
int---->>compareTo(java.lang.String,)
int---->>compareTo(java.lang.Object,)
int---->>indexOf(java.lang.String,int,)
int---->>indexOf(java.lang.String,)
int---->>indexOf(int,int,)
int---->>indexOf(int,)
java.lang.String---->>valueOf(int,)
java.lang.String---->>valueOf(long,)
java.lang.String---->>valueOf(float,)
java.lang.String---->>valueOf(boolean,)
java.lang.String---->>valueOf([C,)
java.lang.String---->>valueOf([C,int,int,)
java.lang.String---->>valueOf(java.lang.Object,)
java.lang.String---->>valueOf(char,)
java.lang.String---->>valueOf(double,)
char---->>charAt(int,)
int---->>codePointAt(int,)
int---->>codePointBefore(int,)
int---->>codePointCount(int,int,)
int---->>compareToIgnoreCase(java.lang.String,)
java.lang.String---->>concat(java.lang.String,)
boolean---->>contains(java.lang.CharSequence,)
boolean---->>contentEquals(java.lang.CharSequence,)
boolean---->>contentEquals(java.lang.StringBuffer,)
java.lang.String---->>copyValueOf([C,)
java.lang.String---->>copyValueOf([C,int,int,)
boolean---->>endsWith(java.lang.String,)
boolean---->>equalsIgnoreCase(java.lang.String,)
java.lang.String---->>format(java.util.Locale,java.lang.String,[Ljava.lang.Object;,)
java.lang.String---->>format(java.lang.String,[Ljava.lang.Object;,)
void---->>getBytes(int,int,[B,int,)
[B---->>getBytes(java.nio.charset.Charset,)
[B---->>getBytes(java.lang.String,)
[B---->>getBytes()
void---->>getChars(int,int,[C,int,)
java.lang.String---->>intern()
boolean---->>isEmpty()
java.lang.String---->>join(java.lang.CharSequence,[Ljava.lang.CharSequence;,)
java.lang.String---->>join(java.lang.CharSequence,java.lang.Iterable,)
int---->>lastIndexOf(int,)
int---->>lastIndexOf(java.lang.String,)
int---->>lastIndexOf(java.lang.String,int,)
int---->>lastIndexOf(int,int,)
int---->>length()
boolean---->>matches(java.lang.String,)
int---->>offsetByCodePoints(int,int,)
boolean---->>regionMatches(int,java.lang.String,int,int,)
boolean---->>regionMatches(boolean,int,java.lang.String,int,int,)
java.lang.String---->>replace(char,char,)
java.lang.String---->>replace(java.lang.CharSequence,java.lang.CharSequence,)
java.lang.String---->>replaceAll(java.lang.String,java.lang.String,)
java.lang.String---->>replaceFirst(java.lang.String,java.lang.String,)
[Ljava.lang.String;---->>split(java.lang.String,)
[Ljava.lang.String;---->>split(java.lang.String,int,)
boolean---->>startsWith(java.lang.String,int,)
boolean---->>startsWith(java.lang.String,)
java.lang.CharSequence---->>subSequence(int,int,)
java.lang.String---->>substring(int,)
java.lang.String---->>substring(int,int,)
[C---->>toCharArray()
java.lang.String---->>toLowerCase(java.util.Locale,)
java.lang.String---->>toLowerCase()
java.lang.String---->>toUpperCase()
java.lang.String---->>toUpperCase(java.util.Locale,)
java.lang.String---->>trim()
void---->>wait()
void---->>wait(long,int,)
void---->>wait(long,)
java.lang.Class---->>getClass()
void---->>notify()
void---->>notifyAll()
java.util.stream.IntStream---->>chars()
java.util.stream.IntStream---->>codePoints()
获取变量成员
[C:value
int:hash
long:serialVersionUID
[Ljava.io.ObjectStreamField;:serialPersistentFields
java.util.Comparator:CASE_INSENSITIVE_ORDER
获取构造方法
java.lang.String([B,int,int,)
java.lang.String([B,java.nio.charset.Charset,)
java.lang.String([B,java.lang.String,)
java.lang.String([B,int,int,java.nio.charset.Charset,)
java.lang.String([B,int,int,java.lang.String,)
java.lang.String([C,boolean,)
java.lang.String(java.lang.StringBuilder,)
java.lang.String(java.lang.StringBuffer,)
java.lang.String([B,)
java.lang.String([I,int,int,)
java.lang.String()
java.lang.String([C,)
java.lang.String(java.lang.String,)
java.lang.String([C,int,int,)
java.lang.String([B,int,)
java.lang.String([B,int,int,int,)
****************type**********************************
方法名称:java.lang.Integer
int---->>numberOfLeadingZeros(int,)
int---->>numberOfTrailingZeros(int,)
int---->>bitCount(int,)
boolean---->>equals(java.lang.Object,)
java.lang.String---->>toString(int,int,)
java.lang.String---->>toString()
java.lang.String---->>toString(int,)
int---->>hashCode(int,)
int---->>hashCode()
int---->>min(int,int,)
int---->>max(int,int,)
int---->>reverseBytes(int,)
int---->>compareTo(java.lang.Integer,)
int---->>compareTo(java.lang.Object,)
byte---->>byteValue()
short---->>shortValue()
int---->>intValue()
long---->>longValue()
float---->>floatValue()
double---->>doubleValue()
java.lang.Integer---->>valueOf(java.lang.String,int,)
java.lang.Integer---->>valueOf(int,)
java.lang.Integer---->>valueOf(java.lang.String,)
java.lang.String---->>toHexString(int,)
int---->>compare(int,int,)
java.lang.Integer---->>decode(java.lang.String,)
int---->>reverse(int,)
int---->>sum(int,int,)
int---->>parseInt(java.lang.String,)
int---->>parseInt(java.lang.String,int,)
long---->>toUnsignedLong(int,)
int---->>compareUnsigned(int,int,)
int---->>divideUnsigned(int,int,)
java.lang.Integer---->>getInteger(java.lang.String,java.lang.Integer,)
java.lang.Integer---->>getInteger(java.lang.String,int,)
java.lang.Integer---->>getInteger(java.lang.String,)
int---->>highestOneBit(int,)
int---->>lowestOneBit(int,)
int---->>parseUnsignedInt(java.lang.String,)
int---->>parseUnsignedInt(java.lang.String,int,)
int---->>remainderUnsigned(int,int,)
int---->>rotateLeft(int,int,)
int---->>rotateRight(int,int,)
int---->>signum(int,)
java.lang.String---->>toBinaryString(int,)
java.lang.String---->>toOctalString(int,)
java.lang.String---->>toUnsignedString(int,)
java.lang.String---->>toUnsignedString(int,int,)
void---->>wait()
void---->>wait(long,int,)
void---->>wait(long,)
java.lang.Class---->>getClass()
void---->>notify()
void---->>notifyAll()
获取变量成员
int:MIN_VALUE
int:MAX_VALUE
java.lang.Class:TYPE
[C:digits
[C:DigitTens
[C:DigitOnes
[I:sizeTable
int:value
int:SIZE
int:BYTES
long:serialVersionUID
获取构造方法
java.lang.Integer(int,)
java.lang.Integer(java.lang.String,)

转载于:https://my.oschina.net/Clarences/blog/1786931

你可能感兴趣的文章
SDUT-2772_数据结构实验之串一:KMP简单应用
查看>>
JavaScript判断变量名是否存在数组中
查看>>
NSThread常见方法
查看>>
Poj(1789),最小生成树,Prim
查看>>
java 反编译和文档生成器
查看>>
最优配对问题
查看>>
在Spring容器外调用bean
查看>>
java socket 多线程通讯
查看>>
position:absolute;relative;
查看>>
一个技术汪的开源梦 —— 微信开发工具包
查看>>
java_基础知识_字符串练习题_计算两个字符串的最长公共字串长度
查看>>
36.自定义对象级插件——lifocuscolor插件
查看>>
22.元字符与转义
查看>>
根据内存大小自动匹配和绑定自动伸缩策略【shell】
查看>>
cloudfoundry容器实例内部测试redis连通性
查看>>
Python练习
查看>>
web页面打开本地app(判断是否安装)
查看>>
关闭、限制端口访问
查看>>
用户空间缺页异常pte_handle_fault()分析--(下)--写时复制【转】
查看>>
win10企业版永久激活方法
查看>>