一つのcool map
3356 ワード
QuakeWangのようなもので、プロジェクトに使うつもりでした.
やはりここにバックアップしましょう.
用法及びtestcase
やはりここにバックアップしましょう.
import java.util.HashMap;
/**
* Shortcut Map by extending HashMap.
* You can use it as below:
* map.put("country", "China", "city", "wuhan");
* or
* new QuickMap("country", "China", "city", "wuhan")
* or
* map.add("country", "China").add("city", "wuhan");
*
* ablow is the same as old style:
* map.put("country", "Chian")
* map.put("city", "wuhan");
*
* @author lichun
*
*/
public class QuickMap extends HashMap<String, Object>
{
private static final long serialVersionUID = 1L;
public QuickMap()
{}
/**
*
* @param args
*/
public QuickMap(Object... args)
{
put(args);
}
/**
* shortcut method for put key-value in map.
*
* @param args key-vlaue objects, the firt is key , the second is
* value, and so on.
* @date Apr 22, 2009
* @auther Lichun
* @see
*/
public void put(Object... args)
{
for (int i = 1; i < args.length; i += 2)
{
put(String.valueOf(args[i - 1]), args[i]);
}
}
/**
* shortcut method
* @param key key in map
* @param value value in map
* @return a QuickMap instance , you can add next key-value.
* @date Apr 22, 2009
* @auther Lichun
* @see
*/
public QuickMap add(String key, Object value)
{
this.put(key, value);
return this;
}
}
用法及びtestcase
public class QuickMapTest extends TestCase
{
public void testPut1()
{
QuickMap map = new QuickMap();
map.put("firstName", "li", "lastName", "chunlei");
String firstName = (String)map.get("firstName");
assertTrue(firstName.equals("li"));
String lastName = (String)map.get("lastName");
assertTrue(lastName.equals("chunlei"));
}
public void testPut2()
{
QuickMap map = new QuickMap();
map.put("firstName", "li", "lastName", "chunlei", "age");
String firstName = (String)map.get("firstName");
assertTrue(firstName.equals("li"));
String lastName = (String)map.get("lastName");
assertTrue(lastName.equals("chunlei"));
assertNull(map.get("age"));
}
public void testAdd()
{
QuickMap map = new QuickMap();
map.add("firstName", "li").add("lastName", "chunlei").add("age", 88);
String firstName = (String)map.get("firstName");
assertTrue(firstName.equals("li"));
String lastName = (String)map.get("lastName");
assertTrue(lastName.equals("chunlei"));
int age = (Integer)map.get("age");
assertTrue(age == 88);
}
}