constructorsift.java

来自「JAVA 工作指南 可以说是程序员必备的东西哦」· Java 代码 · 共 35 行

JAVA
35
字号
import java.lang.reflect.Constructor;import java.lang.reflect.Type;import static java.lang.System.out;public class ConstructorSift {    public static void main(String... args) {	try {	    Class<?> cArg = Class.forName(args[1]);	    Class<?> c = Class.forName(args[0]);	    Constructor[] allConstructors = c.getDeclaredConstructors();	    for (Constructor ctor : allConstructors) {		Class<?>[] pType  = ctor.getParameterTypes();		for (int i = 0; i < pType.length; i++) {		    if (pType[i].equals(cArg)) {			out.format("%s%n", ctor.toGenericString());			Type[] gpType = ctor.getGenericParameterTypes();			for (int j = 0; j < gpType.length; j++) {			    char ch = (pType[j].equals(cArg) ? '*' : ' ');			    out.format("%7c%s[%d]: %s%n", ch,				       "GenericParameterType", j, gpType[j]);			}			break;		    }		}	    }        // production code should handle this exception more gracefully	} catch (ClassNotFoundException x) {	    x.printStackTrace();	}    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?