java - 变长泛型类型

标签 java generics

我想做这样的事情,有人做过类似的事情吗? 我有一个有两个键的解决方案 map ,我用它进行地理定位,但我想用 n 个键来代替它。

import java.util.Collection;
import java.util.Set;

public interface NKeyMap<K..., V> {
    public void clear();
    public boolean containsKey(K...);
    public boolean containsValue(V value);
    public V get(K...);
    public boolean isEmpty();
    public V put(K..., V value);
    public V removeK..., V value);
    public int size();
    public Collection<V> values();
    public Set<K...> keys();
}

最佳答案

你不能做 var-arg generic 但你可以做如下的事情

import java.util.Collection;
import java.util.Set;

public interface NKeyMap<K, V> {
    public void clear();
    public boolean containsKey(K... k );
    public boolean containsValue(V value);
    public V get(K... k);
    public boolean isEmpty();
    public V put(V value, K...k);
    public V remove(V value, K... k);
    public int size();
    public Collection<V> values();
    public Set<K> keys();
}

关于java - 变长泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18267714/

相关文章:

java - Java 中可以使用可变参数泛型吗?

java - JAVA、JavaSpaces 中的进程通信

java - 在实际应用程序生活中使用向下转型

java -jar tomcat 安装报告成功但不解压 war 文件

typescript - 如何在 typescript 中检测具有泛型的类实例

javascript - 有没有办法在 JS 文档中定义泛型类型?

java 泛型 : getting class of a class with generic parameters

java - 在 Android Studio 中将图像覆盖在自定义 AlertDialog 之上

java - Spring security 在并发环境中得到错误的主体

generics - 如何将 "Encodable"绑定(bind)到类型参数?