你的位置:首页 > Java教程

[Java教程]JAVA/Android Map与String的转换方法


 

在Android开发中 Map与String的转换在,在一些需求中经常用到,使用net.sf.json.JSONObject.fromObject可以方便的将string转为Map。但需要导入jar包。在(android)容易导致资源浪费。下面的方法在不到入jar包的情况下,也能满足需求。

1)将Map转成形如username'chenziwen^password'1234的字符串

/** * 方法名称:transMapToString * 传入参数:map * 返回值:String 形如 username'chenziwen^password'1234 */ public static String transMapToString(Map map){  java.util.Map.Entry entry;  StringBuffer sb = new StringBuffer();  for(Iterator iterator = map.entrySet().iterator(); iterator.hasNext();)  {   entry = (java.util.Map.Entry)iterator.next();    sb.append(entry.getKey().toString()).append( "'" ).append(null==entry.getValue()?"":    entry.getValue().toString()).append (iterator.hasNext() ? "^" : "");  }  return sb.toString(); } 

2)将形如形如username'chenziwen^password'1234的字符串转成Map

/** * 方法名称:transStringToMap * 传入参数:mapString 形如 username'chenziwen^password'1234 * 返回值:Map */ public static Map transStringToMap(String mapString){  Map map = new HashMap();  java.util.StringTokenizer items;  for(StringTokenizer entrys = new StringTokenizer(mapString, "^");entrys.hasMoreTokens();    map.put(items.nextToken(), items.hasMoreTokens() ? ((Object) (items.nextToken())) : null))    items = new StringTokenizer(entrys.nextToken(), "'");  return map; }