gpt4 book ai didi

java - NoClassDefFoundError 无法初始化类

转载 作者:行者123 更新时间:2023-12-01 09:49:39 27 4
gpt4 key购买 nike

我有一个类,它正在从数据库获取值的 List,我需要将这些值设置为 map

public class LocationField {
@Resource
protected static SearchDaoImpl searchDao;
public static List<Object[]> list = searchDao.getResult();
private static final Map<String,LocationField> TYPES = new LinkedHashMap<String, LocationField>();
static{
new LocationField(list);
}

public LocationField() {
//do nothing
}

public LocationField(List<Object[]> listObject) {
for (Object[] listObject: list)
new LocationField(listObject[0].toString,listObject[1].toString)
}

private String type;
private String friendlyType;
public LocationField(final String type, final String friendlyType) {
this.friendlyType = friendlyType;
setTypes(type);
}

private void setType(final String type) {
this.type=type;
if (!TYPES.containsKey(type))
TYPES.put(type,this)
}
}
}

上面的代码对于静态数据运行良好,并且设置为map对象例如:

LocationField field1 = new LocationField("ok", "okay");
LocationField field2 = new LocationField("hi", "hai");

但是我需要从database获取值,并且需要设置为map对象,所以,我改变了一些内容,如第一段代码所示,但是问题是我收到异常消息

嵌套异常是 java.lang.NoClassDefFoundError:无法初始化类 com.mycompany.LocationField

它没有显示号来找出实际发生异常的位置。我无法弄清楚这是什么原因?据我所知,上面的类在运行时不可用于 jvm ,但为什么呢?谁能帮我解决这个问题吗?

最佳答案

发生这种情况是因为您的变量是静态的,并且在 consutructir 中您试图更改该变量。它将尝试重新初始化,但这是不可能的。

关于java - NoClassDefFoundError 无法初始化类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37683858/

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