iterator-最后一句的输出应该怎么写才会有键值对输出? java.lang.ClassCastException

问题描述

最后一句的输出应该怎么写才会有键值对输出? java.lang.ClassCastException

public class Student {
private String name;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Student(String name, String sex) {
super();
this.name = name;
this.sex = sex;
}
public Student() {
super();
}
}

public class MapStudent {

public static void main(String[] args) {
HashMap stu=new HashMap();
stu.put("jack", new Student("小明","男"));
stu.put("tom", new Student("小李","女"));
stu.put("lucy", new Student("小红","女"));
Set s=stu.keySet();
Iterator it=s.iterator();
while(it.hasNext()){
    String key=(String)it.next();
    String value=(String)stu.get(key);
    System.out.println(key+value);
}
}

}

解决方案

默认情况下直接输出某个对象就是调用对象的toString方法的,那你给Student添加一个toString方法,如下:

 public String toString(){
     return name+","+sex
 }

解决方案二:

HashMap存储的是Student类型的对象,不能转换成String的,你取值时value只能转换成Student或者Object.

 while(it.hasNext()){
    String key=(String)it.next();
    Student value=(Student)stu.get(key);
    System.out.println(key+value);
}

解决方案三:

这样输出打印出的是内存地址,怎么才能打印出jack,小明,男?

解决方案四:

student重写tostring'E5??以吧

时间: 2024-08-28 16:00:24

iterator-最后一句的输出应该怎么写才会有键值对输出? java.lang.ClassCastException的相关文章

thinkphp模板html中用php输出html的标签中含有变量,怎么才能输出?

问题描述 thinkphp模板html中用php输出html的标签中含有变量,怎么才能输出? 以上图片中的php代码是在thinkphp模板的html中的 我的代码无法输出,问题出在其中的好几处{$arr['link']}上.去掉{}和加上{}都不行.求大神助 我的代码如下: <?php if(isset($links[0])) { $i = 1; foreach($links as $arr) { if($i==1) echo "rn"; if($arr['image'] !=

在eclipse上写python,用scapy模块,输出自己构造的报文却只有e?

问题描述 在eclipse上写python,用scapy模块,输出自己构造的报文却只有e? 如图,输出变量a,可是结果为"E"?这是怎么回事?请问怎么解决? 解决方案 http://blog.csdn.net/wang_walfred/article/details/40044141

java的io的问题 使用java输出文本到文本文件,但是打开文件没有得到输出的内容

问题描述 java的io的问题 使用java输出文本到文本文件,但是打开文件没有得到输出的内容 试了好多函数,但是就是没有最后输出到文本文件,程序没有报错,需要用的flush()也用了,最后关闭输出函数也关闭了,但是就是没有在文本文件中得到从java中输出的内容,还有什么地方需要注意的, 是我的路径表示错误了,应该都用的, 解决方案 把代码贴出来看看,------- 解决方案二: 贴出来代码看看吧!空口说白话啊 解决方案三: java io输出的编码问题 解决方案四: 没有代码没法看错误啊

这段代码输出保存在数据库中的json格式数据怎么用java代码在前端显示出来

问题描述 这段代码输出保存在数据库中的json格式数据怎么用java代码在前端显示出来 public class SaveHotKeySkillReq extends CommandBase { @Resource //数据库操作 private EntityManager em; protected void execute() throws GMessageException { CRequesthotKeyChange msg = pak.readMsg(CRequesthotKeyCha

c#中double型的输出代码怎么写通用性更强?

问题描述 c#中double型的输出代码怎么写通用性更强? c#中double型的输出代码怎么写通用性更强?就是可以在控制台输出同样的代码也可以在其他窗体输出么? 解决方案 将输出代码包装成委托: 假设这是你之前的代码 void foo() { double d = 123.456; Console.WriteLine(d); } 为了通用,你需要把输出的部分抽取出来,变成 void foo(Action<double> output) { double d = 123.456; output

link中是不是单链表不能逆序输出?只有双向链表才可以,这么说正确么?

问题描述 link中是不是单链表不能逆序输出?只有双向链表才可以,这么说正确么? link中是不是单链表不能逆序输出?只有双向链表才可以,这么说正确么? 解决方案 也可以啊,再定义一个堆栈,遍历链表,将值放进去,然后再输出堆栈.

用java语言回答-输入一个日期,计算并输出是这一年的那一天,用Java语言回答这个问题,,,感激不尽

问题描述 输入一个日期,计算并输出是这一年的那一天,用Java语言回答这个问题,,,感激不尽 输入一个日期,计算并输出是这一年的那一天,输入一个日期,计算并输出是这一年的那一天,用Java语言回答这个问题,,,感激不尽 解决方案 public int orderDate(Date date){ int dateSum = 0; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String dateStr = f

ffmpeg-求助!在cmd中运行ffmped可以输出flv文件,在.net中调用却不能输出,代码如下

问题描述 求助!在cmd中运行ffmped可以输出flv文件,在.net中调用却不能输出,代码如下 public static bool changeVideoType(string fileName string playFile) { //获取视频转换工具的路径 string ffmpeg = System.Web.HttpContext.Current.Server.MapPath(""../"") + ffmpegtool; //获取需要转换的视频路径 st

cmd-用C#调用CMD时,实现同步输出结果,而不是等命令执行完了后再输出。

问题描述 用C#调用CMD时,实现同步输出结果,而不是等命令执行完了后再输出. 用C#调用CMD时,如何实现同步输出结果,而不是等命令执行完了后再输出. 解决方案 JAVA中调用CMD命令,并输出执行结果 解决方案二: 用管道跟命令通信,获取它的输出.