shashaya1122
shashaya1122
采纳率28.6%
2015-12-08 06:38 阅读 3.0k

java程序中往list中添加对象

5

我有一个类holiday,属性有name和date。先是声明一个list,List list =new ArrayList();然后就holiday hol =new holiday(name,date);最后使用add方法,list.add(hol);这样做是否正确。
可是当我遍历list时,输出的并不是原来定义的name和date,而是,holiday@89ae9e,请问这样对吗?如果我这样在往数据库里存数据是否可以。。。。。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

8条回答 默认 最新

  • 已采纳
    qq_28265563 Vinctor重复 2015-12-08 07:00

    楼上正解,你向list中添加数据的方法是正确的,之所以遍历返回的数据不是目标数据,是因为,返回的你所引用数据的内存地址,类似于C中的指针概念

    点赞 评论 复制链接分享
  • bdmh bdmh 2015-12-08 06:48

    把每个List中的对象转换为 (holiday)list.get(xxx),然后访问它的属性

    点赞 1 评论 复制链接分享
  • Royal_lr Royal_lr 2015-12-08 07:21

    直接System.out.println(hol),输出的是对象,,那jvm就会把它转换成string再输出,,一般是类名+@+16进制数,,直接hibernate的saveOrUpdate是可以的

    点赞 1 评论 复制链接分享
  • apple1542 猴哥儿 2015-12-08 06:41

    当然不可以了
    类型对不对,控制台提示你什么

    点赞 评论 复制链接分享
  • bdmh bdmh 2015-12-08 06:44

    你要把他转换为String,因为ArrayList中保存的是object

    点赞 评论 复制链接分享
  • u010924720 yeki_30 2015-12-08 06:46

    你输出的是holiday这个对象吧,要是要输出里面的属性的话,用holiday.getName();holiday.getDate()就可以了

    点赞 评论 复制链接分享
  • wojiushiwo945you 毕小宝 2015-12-08 06:56

    首先,holiday@89ae9e这个明显是对象的引用,你的输出代码是怎样的,肯定有问题啊。
    建议,你的Holiday类定义的时候重写toString方法,那么你遍历List时直接输出对象就是toString的值了。
    你想往数据库里存什么数据呢?直接存holiday@89ae9e这个对象引用没有意义啊,存这个对象的属性信息才对啊。

    点赞 评论 复制链接分享
  • sinat_31136119 sinat_31136119 2015-12-11 14:37

    打印: list.getName().toString(); list.getDate().toString();

    点赞 评论 复制链接分享

相关推荐