封装一个新闻类News,包含新闻标题,新闻作者,新闻内容,
新闻类型三个属性,提供必要的访问器和修改器方法,重写toString方法,
要求打印对象时输出格式为“标题;类型;作者”,要求只要新闻标题相同就判断为同一条新闻。
在测试类中创建一个只能容纳该类对象的ArrayList集合,
添加三条新闻。遍历集合,打印新闻标题,将新闻标题截取字符串到10个汉字的长度。
类型
public class CityNews {
}
public class FocusNews {
}
News类
/*
封装一个新闻类News,包含新闻标题,新闻作者,新闻内容,
新闻类型三个属性,提供必要的访问器和修改器方法,重写toString方法,
要求打印对象时输出格式为“标题;类型;作者”,要求只要新闻标题相同就判断为同一条新闻。
在测试类中创建一个只能容纳该类对象的ArrayList集合,
添加三条新闻。遍历集合,打印新闻标题,将新闻标题截取字符串到10个汉字的长度。
*/
public class News<T> {
private T Type;//新闻类型
private String title;//新闻标题
private String author;//新闻作者
private String content;//新闻内容
public News() {
}
public News(String title, String author, String content) {
this.title = title;
this.author = author;
this.content = content;
}
/*提供必要的访问器和修改器方法*/
public T getType() {
return Type;
}
public void setType(T type) {
Type = type;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
@Override
public String toString() {
return "News{" +
"title='" + title + '\'' +
", author='" + author + '\'' +
", content='" + content + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
News<?> news = (News<?>) o;
return Objects.equals(title, news.title);
}
}
NewsDemo测试类
public class NewsDemo {
public static void main(String[] args) {
/*在测试类中创建一个只能容纳该类对象的ArrayList集合,添加三条新闻。*/
ArrayList<News> list = new ArrayList<>();
list.add(new News<CityNews>("成都市疾控中心:减少非必要外出 相关人员及时完成核酸检测","王冰冰","我也不知道写什么新闻"));
list.add(new News<FocusNews>("扎克伯格「元宇宙」的故事","张扬","焦点访谈"));
list.add(new News<CityNews>("加密货币“鱿鱼币”骗局:暴涨后5分钟内跌至几乎为零","张大大","新闻圣诞节"));
/*遍历集合,打印新闻标题,将新闻标题截取字符串到10个汉字的长度。*/
Iterator<News> iterator = list.iterator();
while (iterator.hasNext()){
News news = iterator.next();
if(news.getTitle().length() < 10){
System.out.println(news.getTitle());
}else {
System.out.println(news.getTitle().substring(0, 10));
}
}
}
}