我得到arrayList
BlogPosts
,我想在屏幕上显示对象的内容。
我使用此输出从ArrayList
读取了ServletContext
:
[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;
}
}
这是我存储我的列表的地方
Object o = getServletContext().getAttribute("blogpost");
答案 0 :(得分:0)
它使用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());
}
}