java - 获取 ArrayList 中对象的信息
问题描述
我创建了一个ArrayList
放置一些对象的位置。当我创建一个对象时,我可以通过执行以下操作来检索一些信息:
objectX.getActivityName();
我的问题是当我将所有对象放入 ArrayList 时,我无法访问我的 getActivityName 示例:
for (Object temp:tabRegristre) {
System.out.println("TEMPS : " + temp); // I want to show the temp object Activity Name not all the info of the object.
}
是否有任何解决方案可以仅从 for each 循环中显示我的对象的一些信息?而不是打印对象本身?
谢谢!!
解决方案
泛型
您需要了解Java 泛型和使用尖括号<
& >
。请参阅Oracle 的教程。
对于简短的类定义,请使用 Java 16 中的新记录功能。(或使用常规类。)
public record Activity ( String name , LocalDate when ) {}
制作几个这样的对象。
Activity brunch = new Activity( "Brunch" , LocalDate.of( 2021 , Month.MARCH , 15 ) ) ;
Activity meeting = new Activity( "Meeting" , LocalDate.of( 2021 , Month.APRIL , 23 ) ) ;
定义您的收藏。请注意我们如何使用尖括号告诉编译器我们希望将此列表限制为仅包含 type 的对象Activity
。
List< Activity > activities = new ArrayList< Activity >() ;
编译器可以推断出Activity
赋值右侧的类=
。所以不需要重复。
List< Activity > activities = new ArrayList<>() ;
将您的对象添加到集合中。
activities.add( brunch ) ;
activities.add( meeting ) ;
检索每个对象。打印日期。访问器方法的名称与其属性相同。我们的属性when()
的访问器方法LocalDate
名为when
.
编译器知道只有Activity
对象进入集合,所以检索到的项目必须是Activity
对象。无需强制转换(显式类型转换)。
for( Activity activity : activities )
{
System.out.println( activity.when() ) ;
}
推荐阅读
- html - 基于函数返回显示不同元素的正确方法是什么
- java - 分页找不到当前位置
- javascript - 读取 obj/array 到 html
- python - python-标记系列中的第二组项目
- ios - Swift-通过侧 TableView 控制的导航动态加载多个子视图控制器
- python - 将函数转换为嵌套列表理解(Python)
- python - 使用 python 和 selenium 单击复选框元素
- java - spring boot 2 data jpa生成的查询错误
- python - 使用 Python 中的 boto3 包从 EC2 实例访问 S3 中的 zip 文件和文件夹
- powershell - Powershell 选择语句