Java 查看某个String类型的变量是否是自定义类型的对象List中某个自定义类型对象的属性
时间: 2024-04-07 16:33:58 浏览: 15
要查看某个`String`类型的变量是否是自定义类型的对象列表中某个对象的属性,您需要进行以下步骤:
1. 确保自定义类型的对象正确地重写了`equals()`方法。这是用于比较对象是否相等的方法。
2. 遍历自定义类型的对象列表,并使用`equals()`方法将每个对象与目标字符串进行比较。
下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
class CustomObject {
private String property;
public CustomObject(String property) {
this.property = property;
}
// 重写equals()方法
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
CustomObject other = (CustomObject) obj;
return this.property.equals(other.property);
}
}
public class Main {
public static void main(String[] args) {
List<CustomObject> list = new ArrayList<>();
list.add(new CustomObject("Apple"));
list.add(new CustomObject("Banana"));
list.add(new CustomObject("Orange"));
String variable = "Banana";
boolean containsVariable = false;
for (CustomObject obj : list) {
if (obj.equals(new CustomObject(variable))) {
containsVariable = true;
break;
}
}
if (containsVariable) {
System.out.println("变量存在于列表中");
} else {
System.out.println("变量不存在于列表中");
}
}
}
```
在上述示例中,我们定义了一个自定义对象`CustomObject`,它具有一个属性`property`。我们在`CustomObject`中重写了`equals()`方法,以便通过比较`property`属性来判断两个对象是否相等。
然后,我们创建了一个`List`,并将几个`CustomObject`对象添加到列表中。接下来,我们定义了一个名为`variable`的字符串变量,它将被用来检查是否存在于列表中。
使用遍历循环,我们比较列表中的每个对象与目标字符串(使用新创建的`CustomObject`进行比较)。如果找到匹配的对象,则设置`containsVariable`为`true`,并终止循环。最后,根据`containsVariable`的值输出相应的消息。
希望这个示例对您有所帮助!如果您有任何其他问题,请随时提问。