java射自己,反射,中出,参数check

//获取类名
private final static String action = Template.class.getSimpleName();

//获得包名.类名 private final static String action = RefConstructor.class.getName();


public class Singleton { //单例模式
	private static Singleton _instance = null;
	public static synchronized Singleton getInstance(){
		if(_instance == null){
			synchronized (Singleton.class) {
				_instance = new Singleton();
			}
		}
		return _instance;
	}
	public void dabi(){
		System.out.println("dabi");
	}
	
	public static void main(String[] args) {
		new Thread(new Runnable(){
			@Override
			public void run() {
				Singleton.getInstance().dabi();		
				System.out.println(Singleton.getInstance());
			}
		}).start();
		new Thread(new Runnable(){
			@Override
			public void run() {
				Singleton.getInstance().dabi();
				System.out.println(Singleton.getInstance());
			}
		}).start();
	}
}


//通过反射注入对象的属性,并获取
public class Fanshe {
    private int count;
    public Fanshe(int start) {
        count = start;
    }
    public void increase(int step) {
        count = count + step;
    }
}

public class Fanshe2 {
    public static void main(String[] args) {
    	try {
			Constructor cons = Fanshe.class.getConstructor(int.class);
			Fanshe fa = (Fanshe)cons.newInstance(10);
			Field field = Fanshe.class.getDeclaredField("count");
			field.setAccessible(true);
			int countvalue = (Integer) field.get(fa);
			System.out.println(countvalue);
			
		} catch (Exception e) {
			// TODO: handle exception
		}
    }
}


public class Hashargs {
	public static void main(String[] args) {
		//将参数放入map中
		String[] arg= {"-dabi","3.0","-size","200"};
		String key = null;
		Map<String, String> paramMap = new HashMap<String, String>();
		for (int i = 0;i < arg.length;i++) {
			if (arg[i].startsWith("-")) {
				if (key != null) {
					System.out.println("null");
				}
				key = arg[i];

			} else {
				if (key != null) {		
					if (paramMap.containsKey(key.substring(1))) {
						System.out.println(key.substring(1));
					}
					paramMap.put(key.substring(1), arg[i]);
					key = null;
				} else {
					
				}
			}
		}
		System.out.println(paramMap);
		List<NameValuePair> pairList = new ArrayList<NameValuePair>();
		Iterator<String> requestParamIte = paramMap.keySet().iterator();
		System.out.println("keyset"+paramMap.keySet());
		while(requestParamIte.hasNext()) {
			String param = requestParamIte.next();
//			System.out.println(param);
//			System.out.println(paramMap.get(param));
			//将参数放入list中;
			pairList.add(new NameValuePair(param, paramMap.get(param)));
			
			System.out.println(pairList);
		}

		//将class A中的方法放入map中
		Class<?> targetCls = null;
		Map<String, Method> methodMap = new HashMap<String, Method>();
		A a = new A();
		targetCls = a.getClass();
		Method [] methods = targetCls.getMethods();
		for (Method method : methods) {
			methodMap.put(method.getName(), method);
		}
		System.out.println(methodMap);
		System.out.println(methodMap.size());
		System.out.println(methodMap.containsKey("b"));
		
	}
}
class A{
	public void a(){
		System.out.println("a");
	}
	public void b(){
		System.out.println("b");
	}
}



未完


你可能感兴趣的:(java射自己,反射,中出,参数check)