/**
*
*/
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;
}
}