我得到了BlogPosts
的arrayList
,我想在屏幕上显示对象的内容。
我从ServletContext
读取ArrayList
,输出如下:
[com.example.week3.BlogPost@58d100c8, com.example.week3.BlogPost@5baade52]
我在哪里以及如何阅读这篇文章的内容?
这是我的BlogPost类:
package com.example.week3;
import java.io.Serializable;
public class BlogPost implements Serializable{
private String blogtext;
public BlogPost(String bt) {
blogtext = bt;
}
public String getBlogtext() {
return blogtext;
}
}
这是我存储List的地方
Object o = getServletContext().getAttribute("blogpost");
它使用Object的默认toString()
方法实现。
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
所以你得到的输出像com.example.week3.BlogPost@58d100c8
。当你迭代ArrayList
时,你需要将其类型转换为BlogPosts
对象,并使用它的getter方法或覆盖toString()
来显示它的内容。
你可以做
Object o = getServletContext().getAttribute("blogpost");
if( o instanceof ArrayList) {
List blogList = (ArrayList) o;
for(Object blog : blogList){
BlogPost blogPost = (BlogPost) blog;
System.out.println(blogPost.getBlogtext());
}
}