Java反射机制:从对象获取类的所有方法信息
来源:互联网 发布:苹果mac xshell 编辑:程序博客网 时间:2024/05/21 14:48
1.获取类信息的工具类
/** * 获取类信息的工具类 * @author Ronacaodo * */public class ClassUtil { /** * 根据对象获取类的名称 * @param obj 对象 * @return 名称 */ public static String getClassName(Object obj) { //首先获取类的类类型 //传递的是Object的哪个子类的对象,c就是该类的类类型 Class c=obj.getClass(); return c.getName(); } public static Method[] getMethods(Object obj) { Class c=obj.getClass(); //getMethods()获取所有的public函数,包括从父类继承而来的 //getDeclearedMethods()获取所有该类自己申明的方法 return c.getMethods(); }}
2.具体实现:
public static void main(String[] args) { String a = "aaa"; System.out.println(ClassUtil.getClassName(a)); Method methods[] =ClassUtil.getMethods(a);//获取a对象的类的方法 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[] paramTypes=methods[i].getParameterTypes(); //遍历所有的参数的类类型 for(int j=0;j<paramTypes.length;j++) { System.out.print(paramTypes[j].getName()+","); } System.out.println(")"); } }
运行结果:
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()
- Java反射机制:从对象获取类的所有方法信息
- Java反射机制之获取方法信息
- java 反射机制 之 getMethods获取所有公有方法 和 getDeclaredMethods 获取本类所有方法
- Java--Reflect(反射)专题3——获取类的方法的所有信息
- 四种获取Class对象的方法 Java反射机制
- Java反射机制总结学习--获取类的信息
- Java反射机制-获取类信息
- Java反射机制(得到类的所有方法)
- 通过java反射机制,获取对象的属性和值(包括所有继承的父类)
- 通过反射获取街道这个类的所有属性、所有方法信息
- Java反射之通过反射获取一个对象的方法信息
- Java反射获取一个类的所有get方法
- Java反射类工具获取成员的所有方法代码
- Java反射机制-获取类对象
- 【慕课网笔记】Java 反射机制 3 获取方法信息
- java反射,获取类对象所有成员变量,从字符串调用函数
- java反射——获取类的方法信息
- Java反射机制获取/调用类的属性和方法
- 求a的回文数:12345变成54321
- 权限分析
- 设计模式---命令模式
- USACO-Section 3.2 Stringsobits(DP)
- C++调用JAVA方法详解
- Java反射机制:从对象获取类的所有方法信息
- 动态规划
- maven+springmvc错误 JAX-RS (REST Web Services) 2.0 can not be installed
- Atitit.研发管理---api版本号策略与版本控制
- 不使用临时变量 交换两个数
- php分配变量 smarty
- 1065. A+B and C (64bit) (20)
- php 下进行mysql参数化查询
- 深度学习的浅实践:开源软件/数据库实现表情识别(2)