/**
*
*/
package com.franky.hashcode;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Collection;
import java.util.Properties;
/**
* @描述 利用反射,生成集合添加對象元素
* @作者 franky
* @日期 2014-12-30 下午10:50:09
*
*/
public class CollectionByReflet {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
//得到配置文件的輸入流
InputStream is = new FileInputStream("f://tools.properties");
Properties p = new Properties();
p.load(is);
//得到配置的類名
String className = (String) p.get("className");
Class clazz = Class.forName(className);
//通過反射的Class對象實例化
Collection collection = (Collection) clazz.newInstance();
Point p1 = new Point(3, 3);
Point p2 = new Point(5, 5);
Point p3 = new Point(3, 3);
//添加對象元素
collection.add(p1);
collection.add(p2);
collection.add(p3);
collection.add(p1);
System.out.println(collection.size());
}
}
class Points{
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public Points(int x, int y) {
super();
this.x = x;
this.y = y;
}
}
利用反射加載配置文件中的類動態生成集合
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.