package com.example.test;
import java.lang.reflect.Constructor;
public class myCtor {
private String s1, s2;
public myCtor(String s1, String s2){
this.s1 = s1;
this.s2 = s2;
}
public myCtor(String ...strings) {
if (strings.length == 1){
s1 = s2 = strings[0];
}
else if (strings.length == 2){
this.s1 = strings[0];
this.s2 = strings[1];
}
}
public static void main(String[] args){
Constructor<?>[] dcs = myCtor.class.getDeclaredConstructors();
for(int i = 0; i < dcs.length; i++){
Constructor<?> c = dcs[i];
Class<?>[] paramtypes = c.getParameterTypes();
for(int j = 0; j < paramtypes.length; j++){
System.out.println("param " + j + ":" + paramtypes[j]);
}
}
System.out.println(String.class.isInstance(22));
System.out.println(String.class.isInstance("22"));
}
}
Output:
param 0:class java.lang.String
param 1:class java.lang.String
param 0:class [Ljava.lang.String;
false
true