從建構函式得到引數型別
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();
}
}
}
相關文章
- 函式引數 引數定義函式型別函式型別
- 預設建構函式、引數化建構函式、複製建構函式、解構函式函式
- Python 序列型別以及函式引數型別Python型別函式
- EXTJS 建構函式帶引數JS函式
- C++型別轉換建構函式C++型別函式
- 建構函式定義的隱式型別轉換函式型別
- 函式、引數、解構函式
- Kotlin 主建構函式引數的修飾符Kotlin函式
- Java泛型建構函式Java泛型函式
- 教你如何使用Springboot注入帶引數的建構函式Spring Boot函式
- 建構函式與普通函式的區別函式
- JavaScript 函式引數解構物件JavaScript函式物件
- 可變資料型別不能作為python函式的引數資料型別Python函式
- QT的提升,要老命了,建構函式想著加引數!!QT函式
- Java函式泛型List引數,操作泛型元素Java函式泛型
- 函式解構引數小細節函式
- JavaScript函式引數解構賦值JavaScript函式賦值
- 建構函式與解構函式函式
- 為什麼值型別不允許顯式定義無參建構函式型別函式
- ## 建構函式函式
- Unity容器建構函式引數迴圈引用問題及解決Unity函式
- 單據型別引數設定增加自定義引數並透過BOS標準函式呼叫型別函式
- C++ 建構函式和解構函式C++函式
- 類的建構函式和解構函式函式
- 淺談 SAP UI5 OData 模型建構函式的輸入引數UI模型函式
- SAP UI5 Page 控制元件的建構函式引數講解UI控制元件函式
- 函式基礎和函式引數函式
- Javascript函式引數求值——Thunk函式JavaScript函式
- 例子:物件建構函式指定型別傳入引數(描述符與裝飾器的應用)物件函式型別
- TypeScript 函式型別TypeScript函式型別
- PostgreSQL:數字——型別、運算子和函式SQL型別函式
- 解析型別引數型別
- JavaScript 建構函式JavaScript函式
- 為什麼不建議函式有太多引數?函式
- Python的內建函式有哪些?常見型別!Python函式型別
- SAP UI5 sap.ui.base.ManagedObject 的建構函式引數講解UIObject函式
- PHP筆記:建構函式與解構函式PHP筆記函式
- webgl內建函式--指數函式Web函式