List<类> list = new ArrayList<>();list无法调用类中自定义函数
时间: 2024-01-01 15:40:20 浏览: 34
在Java中,如果你想在List中存储自定义类的实例,并且想要调用该类中的自定义函数,你需要确保该类已经定义了该函数,并且在存储实例时,将其作为该类的对象进行存储。
例如,假设你有一个自定义的类叫做"Person",它有一个自定义函数叫做"sayHello()",你可以按照以下方式来存储实例并调用该函数:
```java
List<Person> personList = new ArrayList<>();
Person person1 = new Person();
personList.add(person1);
Person person2 = new Person();
personList.add(person2);
// 调用自定义函数
person1.sayHello();
person2.sayHello();
```
请确保你的自定义类中确实定义了所需的函数,并且在存储实例时使用正确的对象类型。这样,你就可以通过List来调用自定义类中的自定义函数了。
相关问题
List<String> dataList = new ArrayList<>();
这段代码是什么意思?
这段代码定义了一个名为dataList的变量,它是一个List类型,其中存储的元素是String类型。具体来说,这里使用了Java中的泛型,将List的元素类型指定为String。
这个List是通过ArrayList类来实现的,ArrayList是List接口的一个实现类,它可以动态地增加和减少元素的数量。在这个例子中,我们使用了ArrayList类的默认构造函数,创建了一个空的ArrayList对象。
这个List可以用来存储任意数量的字符串,我们可以通过调用add()方法向其中添加元素,例如:
```
dataList.add("Apple");
dataList.add("Banana");
dataList.add("Orange");
```
这样就向dataList中添加了三个字符串元素。我们也可以通过调用get()方法来获取指定位置上的元素,例如:
```
String firstItem = dataList.get(0); // 获取第一个元素
```
这样就获取了dataList中的第一个元素,并将其存储在firstItem变量中。
List<NetStreamSiteLinkDto> dtos = new ArrayList<>(multiLinkMap.values());
这段代码创建了一个名为 `dtos` 的 `ArrayList` 对象,并通过 `multiLinkMap.values()` 方法来初始化它。`multiLinkMap` 是一个 `Map` 对象,通过调用 `values()` 方法可以获取到该映射中所有的值,并将它们添加到新创建的 `ArrayList` 中。
这样,`dtos` 将包含 `multiLinkMap` 中所有值的列表。注意,这里使用了拷贝构造函数 `ArrayList(Collection<? extends E> c)`,以确保 `dtos` 是一个新的独立对象,而不是与 `multiLinkMap` 共享引用。