java 中的“<>”和“:”是什么意思?
try{URLurl=newURL(urlStr);HttpURLConnectioncon=(HttpURLConnection)url.openConnection(...
try {
URL url=new URL(urlStr);
HttpURLConnection con=(HttpURLConnection)url.openConnection();
con.setRequestMethod("POST");
//打印请求头信息
Map hfs=con.getHeaderFields();
Set<String> keys=hfs.keySet();
for(String str:keys){
List<String> vs=(List)hfs.get(str);
System.out.print(str+":");
for(String v:vs){
System.out.print(v+"\t");
}
System.out.println();
}
System.out.println("-----------------------");
String cookieValue=con.getHeaderField("Set-Cookie");
System.out.println("cookie value:"+cookieValue);
String sessionId=cookieValue.substring(0, cookieValue.indexOf(";"));
return sessionId;
} catch (Exception e) {
e.printStackTrace();
return null;
}
上面程序的
Set<String> keys=hfs.keySet();
for(String str:keys){
List<String> vs=(List)hfs.get(str);
中的“<>”和“:”是什么意思,这样写编译时出错??应该得怎样写??知道留个联系方式,谢谢! 展开
URL url=new URL(urlStr);
HttpURLConnection con=(HttpURLConnection)url.openConnection();
con.setRequestMethod("POST");
//打印请求头信息
Map hfs=con.getHeaderFields();
Set<String> keys=hfs.keySet();
for(String str:keys){
List<String> vs=(List)hfs.get(str);
System.out.print(str+":");
for(String v:vs){
System.out.print(v+"\t");
}
System.out.println();
}
System.out.println("-----------------------");
String cookieValue=con.getHeaderField("Set-Cookie");
System.out.println("cookie value:"+cookieValue);
String sessionId=cookieValue.substring(0, cookieValue.indexOf(";"));
return sessionId;
} catch (Exception e) {
e.printStackTrace();
return null;
}
上面程序的
Set<String> keys=hfs.keySet();
for(String str:keys){
List<String> vs=(List)hfs.get(str);
中的“<>”和“:”是什么意思,这样写编译时出错??应该得怎样写??知道留个联系方式,谢谢! 展开
4个回答
展开全部
<>是JDK1.5后引入的泛型,简单理解就是限制集合类型(List, Map...)内的元素必须是它规定的类型。
:是枚举操作符,JDK1.6引入
for(String str:keys)相当于 for(int i=0; i<keys.size(); i++){ String str=keys.get(i); ...}
你那句出错,是List<String> vs=(List)hfs.get(str); 得改成List<String> vs=(String)hfs.get(str);
:是枚举操作符,JDK1.6引入
for(String str:keys)相当于 for(int i=0; i<keys.size(); i++){ String str=keys.get(i); ...}
你那句出错,是List<String> vs=(List)hfs.get(str); 得改成List<String> vs=(String)hfs.get(str);
追问
List vs=(List)hfs.get(str);
这句改成你说的
List vs=(String)hfs.get(str);
也是不行的,应该怎么改啊???谢谢!
追答
上次说错了,应该是
List vs=(List)hfs.get(str);
展开全部
<>是范型,就是set集合里面发的数据必须是String型的,否则会报错的
for循环管有两种写法一个是普通的for(int i = 0 ; i < 10 ; i++){};另一种是for each 就是for(String str : String类型的集合){}。
我也好久没研究代码啦,现在忘的差不多啦,希望其他人指教
for循环管有两种写法一个是普通的for(int i = 0 ; i < 10 ; i++){};另一种是for each 就是for(String str : String类型的集合){}。
我也好久没研究代码啦,现在忘的差不多啦,希望其他人指教
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
出错是因为set不能遍历,应该用iterator,即keys.iterator()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<>尖括号代表泛型,这是java的新功能。学习学习。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询