Java Map 纠结

灵魂架构师 发布于 2012/08/07 15:11
阅读 496
收藏 0
private void setCookie(){
		String[] cookies = this.getHeaderField("Set-Cookie").split(";");
		this.cookies = new HashMap<String,String>();
		for (String cookie : cookies) {
			String[] c = cookie.split("=");
			//System.out.println(c[0] + "--->" + c[1]);
			this.cookies.put(c[0], c[1]);
		}
	}

将Cookie放进HashMap后System.out.println输出如下
uzo0_2132_sid--->YxrGx1
expires--->Wed, 08-Aug-2012 06:58:21 GMT
path--->/

纠结的问题是 this.cookies.get("expires"); 返回null。访问哪个值都返回null。纠结谁晓得怎么回事说说哈,本人新手呢。
加载中
0
s
sidneyzsc

你程序没贴全吧,按照你贴的代码,cookies应该是个全局hashmap变量,我按你给的程序测试了下,是能够正确get到cookies里面的值的,应该是你还有其他代码没贴出来,所以不好判断。

 

import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;

public class TestMap {
	private static HashMap<String,String> cookies;
	public static void main(String[] args) {
		TestMap tm = new TestMap();
		tm.setCookies();
		Set<String> set = cookies.keySet();
	for(String name:set) {
			System.out.println(name+"----->"+cookies.get(name));
		}
	}

	public void setCookies() {
		String[] s1 = {"name=sidney","password=12345","date=2012"};
		this.cookies = new HashMap<String,String>();
	for(String s2:s1) {
			String[] s3 = s2.split("=");
			System.out.println(s3[0]+"------"+s3[1]);
			this.cookies.put(s3[0],s3[1]);
		}
		//System.out.println(this.cookies.get("name"));
	}
}

输出如下:

name------sidney 

password------12345 

date------2012 

name----->sidney 

date----->2012 

password----->12345

0
溜子冲的根
溜子冲的根
你是不是在setCookie()外面使用 this.cookies.get("expires");来获取值?要是在外部的话,肯定是取不出来的,因为你的   this.cookies =  new   HashMap<String,String>()在内部赋的值
0
王广超
王广超
额,貌似是作用域的问题。
0
antipro
antipro
把你涉及到 this.cookies.get("expires");的代码段也贴出来。
0
灵魂架构师
灵魂架构师
问题解决了,是 name两边有空格
返回顶部
顶部