string 添加 java_我可以在Java中向String类添加新方法吗?

使用关键字“将方法添加到内置类中”的人可能会在这里结束。如果您要将方法添加到非最终类(如HashMap),则可以执行此类操作。

public class ObjectMap extends HashMap {

public Map map;

public ObjectMap(Map map){

this.map = map;

}

public int getInt(String K) {

return Integer.valueOf(map.get(K).toString());

}

public String getString(String K) {

return String.valueOf(map.get(K));

}

public boolean getBoolean(String K) {

return Boolean.valueOf(map.get(K).toString());

}

@SuppressWarnings("unchecked")

public List getListOfStrings(String K) {

return (List) map.get(K);

}

@SuppressWarnings("unchecked")

public List getListOfIntegers(String K) {

return (List) map.get(K);

}

@SuppressWarnings("unchecked")

public List> getListOfMapString(String K) {

return (List>) map.get(K);

}

@SuppressWarnings("unchecked")

public List> getListOfMapObject(String K) {

return (List>) map.get(K);

}

@SuppressWarnings("unchecked")

public Map getMapOfObjects(String K) {

return (Map) map.get(K);

}

@SuppressWarnings("unchecked")

public Map getMapOfStrings(String K) {

return (Map) map.get(K);

}

}

现在将此类的新实例定义为:

ObjectMap objectMap = new ObjectMap(new HashMap();

现在,您可以访问内置Map类的所有方法,以及新实现的方法。

objectMap.getInt("KEY");

修改强>

在上面的代码中,为了访问map类的内置方法,你必须使用

objectMap.map.get("KEY");

这是一个更好的解决方案:

public class ObjectMap extends HashMap {

public ObjectMap() {

}

public ObjectMap(Map map){

this.putAll(map);

}

public int getInt(String K) {

return Integer.valueOf(this.get(K).toString());

}

public String getString(String K) {

return String.valueOf(this.get(K));

}

public boolean getBoolean(String K) {

return Boolean.valueOf(this.get(K).toString());

}

@SuppressWarnings("unchecked")

public List getListOfStrings(String K) {

return (List) this.get(K);

}

@SuppressWarnings("unchecked")

public List getListOfIntegers(String K) {

return (List) this.get(K);

}

@SuppressWarnings("unchecked")

public List> getListOfMapString(String K) {

return (List>) this.get(K);

}

@SuppressWarnings("unchecked")

public List> getListOfMapObject(String K) {

return (List>) this.get(K);

}

@SuppressWarnings("unchecked")

public Map getMapOfObjects(String K) {

return (Map) this.get(K);

}

@SuppressWarnings("unchecked")

public Map getMapOfStrings(String K) {

return (Map) this.get(K);

}

@SuppressWarnings("unchecked")

public boolean getBooleanForInt(String K) {

return Integer.valueOf(this.get(K).toString()) == 1 ? true : false;

}

}

现在您不必致电

objectMap.map.get("KEY");

只需致电

objectMap.get("KEY");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值