gpt4 book ai didi

java - 列表和 map 的通用集合?

转载 作者:太空宇宙 更新时间:2023-11-04 14:45:10 26 4
gpt4 key购买 nike

是否有一个通用集合可以用于列表和映射参数,目的只是检查非空和大小?

现在我有一个具有以下方法的验证类:

// Check if the given List is not null, nor empty
public static <E> boolean listNotNull(List<E> l, boolean checkSize, int size)
{
// List is null: return false
if(l == null)
return false;

// List is smaller or equal to given size: return false
if(checkSize && l.size() <= size)
return false;

// Everything is OK: return true
return true;
}

然后我可以这样使用:

if(V.listNotNull(myList, true, 0)){ // if(myList != null && myList.size() > 0){
// myList is not null, nor empty:
...
}

if(V.listNotNull(myList, true, 1)){ // if(myList != null && myList.size() > 1){
// myList is not null, and has at least 2 items:
...
}

if(V.listNotNull(myList, false, 0)){ // if(myList != null){
// myList is not null, but might still be empty:
...
}

我对列表使用这种通用验证方法,但在一种方法中我使用 HashMap。有了这个 HashMap,我想再次检查相同的内容(不是 null,也不是空):

if(myHashMap != null && myHashMap.size() > 0){
// myHashMap is not null, nor empty:
...
}

是否可以替换List<E>在我的验证方法的参数中添加其他内容(例如 Collection<???> ),所以我同时包含列表和 map ?

或者我应该创建一个完全相同的新方法,但我使用 Map 作为参数而不是列表,如下所示:

// Check if the given Map is not null, nor empty
public static <K, E> boolean mapNotNull(Map<K, E> m, boolean checkSize, int size)
{
// Map is null: return false
if(m == null)
return false;

// Map is smaller or equal to given size: return false
if(checkSize && m.size() <= size)
return false;

// Everything is OK: return true
return true;
}

if(V.mapNotNull(myHashMap, true, 0)){ // if(myHashMap != null && myHashMap.size() > 0){
// myHashMap is not null, nor empty
...
}

最佳答案

不,没有这样的接口(interface)或父类(super class)。当然可以基于Object来进行空检查。但没有与 size 方法或类似的通用接口(interface)。

关于java - 列表和 map 的通用集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24487646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com