【发布时间】:2021-10-10 09:23:30
【问题描述】:
我想看看我的 List 中是否有 live67 参数,我看过其他关于如何查看 List 中是否有值的帖子,但是我的列表中有 JSON 格式的值,它对我不起作用。之后我想返回 3da2f0db339742f257ecbe737855cd6e -> test67 的值。
我试试:
streamService.getAllStreams().contains("test67")
我的清单:
[
{
"key": "3da2f0db339742f257ecbe737855cd6e",
"streamName": "test67"
},
{
"key": "35ad38ffb46c2ba97306ca931e003481",
"streamName": "test68"
}
]
在streamDao类中:
public List<Stream> selectAllStreams();
在流服务中:
public List<Stream> getAllStreams(){
return streamDao.selectAllStreams();
}
在流控制器中:
@GetMapping("/getList")
public List<Stream> getAllStreams(){
if(streamService.getAllStreams().contains("test67")){
return streamService.getAllStreams();
}
else{
return null;
}
}
总是为空
这是我的 Stream 类:
public class Stream {
String key;
String streamName;
public Stream(String streamName, String key){
this.streamName = streamName;
this.key = key;
}
public String getKey() {
return key;
}
public String getStreamName() {
return streamName;
}
}
【问题讨论】:
-
Stream的列表永远不会包含任何String。您需要测试您的列表是否包含流名称为"test67"的流,而不是您的列表直接包含字符串"test67",因为这是不可能的。 -
你应该声明
Stream.toString()。也许List.contains()会使用Object.toString()来搜索对象。 -
我应该在哪里申报?
-
我在下面添加了答案,但我没有测试它,对不起。