Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法推断ArraySortedMap的类型参数<&燃气轮机;_Java_Eclipse - Fatal编程技术网

Java 无法推断ArraySortedMap的类型参数<&燃气轮机;

Java 无法推断ArraySortedMap的类型参数<&燃气轮机;,java,eclipse,Java,Eclipse,我有一个关于泛型的作业-jdk.13.02,Eclipse Map personByFirstName=newarraymap() 这行代码给出了错误:“无法推断ArrayMap的类型参数” 这是接口映射的标题: 公共接口映射扩展了Iterable 这是类数组映射: public class ArrayMap <K, V> implements Map<K, V>{ @SuppressWarnings("unchecked") protected Entr

我有一个关于泛型的作业-jdk.13.02,Eclipse

Map personByFirstName=newarraymap()

这行代码给出了错误:“无法推断ArrayMap的类型参数”

这是接口映射的标题:

公共接口映射扩展了Iterable

这是类数组映射:

public class ArrayMap <K, V> implements Map<K, V>{
    @SuppressWarnings("unchecked")
    protected Entry<K, V>[] array = (Entry<K, V>[]) new Entry[16];
    protected int nEntries = 0;

    ArrayMap(){

    }
公共类ArrayMap实现映射{
@抑制警告(“未选中”)
受保护的条目[]数组=(条目[])新条目[16];
受保护的整数=0;
ArrayMap(){
}
……等等。 根据分配,需要@suppresswarnings

是否有人知道这里可能发生了什么,或者信息不够?我只是猜测问题在于类头/泛型。 我试着用谷歌搜索错误和其他东西,但没有发现任何东西


谢谢

您的代码对我来说很好:

这是与您相同的arraymap。因此,我猜您要么以错误的方式实现了一个方法,要么将导入搞砸了。请尝试使用相同的代码创建一个新项目

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

public class ArrayMap <K, V> implements Map<K, V> {
    @SuppressWarnings("unchecked")
    protected Entry<K, V>[] array = (Entry<K, V>[]) new Entry[16];
    protected int nEntries = 0;

    ArrayMap(){

    }

    @Override
    public int size() {
        return 0;
    }

    @Override
    public boolean isEmpty() {
        return false;
    }

    @Override
    public boolean containsKey(Object key) {
        return false;
    }

    @Override
    public boolean containsValue(Object value) {
        return false;
    }

    @Override
    public V get(Object key) {
        return null;
    }

    @Override
    public V put(K key, V value) {
        return null;
    }

    @Override
    public V remove(Object key) {
        return null;
    }

    @Override
    public void putAll(Map<? extends K, ? extends V> m) {

    }

    @Override
    public void clear() {

    }

    @Override
    public Set<K> keySet() {
        return null;
    }

    @Override
    public Collection<V> values() {
        return null;
    }

    @Override
    public Set<Entry<K, V>> entrySet() {
        return null;
    }
}
import java.util.Collection;
导入java.util.Map;
导入java.util.Set;
公共类ArrayMap实现映射{
@抑制警告(“未选中”)
受保护的条目[]数组=(条目[])新条目[16];
受保护的整数=0;
ArrayMap(){
}
@凌驾
公共整数大小(){
返回0;
}
@凌驾
公共布尔值为空(){
返回false;
}
@凌驾
公共布尔containsKey(对象键){
返回false;
}
@凌驾
公共布尔包含值(对象值){
返回false;
}
@凌驾
public V get(对象键){
返回null;
}
@凌驾
公共V输入(K键,V值){
返回null;
}
@凌驾
公共V删除(对象密钥){
返回null;
}
@凌驾

public void putAll(Map我自己刚刚实现了你的代码,它对我很有用

然而,我一开始确实看到了这个错误,我有这样一行:

Map<String, Person> personByFirstName = new ArrayMap<>();
Map personByFirstName=newarraymap();

这是因为我正在导入java.util.Map。请确保导入您自己的Map,而不是java.util.Map。

您是否实现了自己的
Map
接口?我通过1解决了问题)首先使用类构造创建一个新项目,并将ArrayMap和ArraySortedMap的边界更改为
嘿,谢谢-创建一个新项目解决了我的主类中提到的错误。我仍然有相同的错误,下面几行关于以某种方式扩展ArrayMap的不同clas ArraySortedMap。请单击我的答案标记为已回答。我猜您导入的类是错误的-请尝试在Eclipse中使用自动导入。