Java 少年警讯:";arraylength“中的操作数堆栈上的类型错误;
我正试图在glassfish中部署一个webapp,其中包含由JPA管理的以下实体。在数据库中,int的数组存储在varchar中,我在setter/getter中拆分/加入这个字符串Java 少年警讯:";arraylength“中的操作数堆栈上的类型错误;,java,jpa,glassfish,Java,Jpa,Glassfish,我正试图在glassfish中部署一个webapp,其中包含由JPA管理的以下实体。在数据库中,int的数组存储在varchar中,我在setter/getter中拆分/加入这个字符串 @Entity public class MyClass implements Serializable { private long id; private int arrayofInt[]; (...) private static String join(i
@Entity
public class MyClass
implements Serializable
{
private long id;
private int arrayofInt[];
(...)
private static String join(int array[])
{
StringBuilder b=new StringBuilder();
for(int i:array)
{
if(b.length()!=0) b.append(',');
b.append(i);
}
return b.toString();
}
private static int[] split(String s)
{
String tokens[]=s.split("[,]");
int array[]=new int[tokens.length];
for(int i=0;i< tokens.length;++i)
{
array[i]=Integer.parseInt(tokens[i]);
}
return array;
}
@Column(name="fieldName")
public String getArrayOfInt()
{
return join(arrayOfInt);
}
public void setArrayOfInt(String arrayOfInt)
{
this.arrayOfInt=split(arrayOfInt);
}
@Transient
public int getCount()
{
return this.arrayOfInt.length;
}
(....)
}
我发现另一个新错误:
远程故障:部署期间发生错误:部署时发生异常
准备应用程序:方法中的操作数堆栈类型错误
getArrayFint()Ljava/lang/String;在偏移量45678处。请看
有关详细信息,请参阅server.log。命令部署失败
我怎样才能解决这个问题
谢谢 我更改了以下声明:
private int arrayofInt[];
到
现在一切都好了。。。(?)。我已经更新了我的代码。
private int arrayofInt[];
private int _arrayofInt[];
(...)
public String getArrayOfInt()
{
return join(_arrayOfInt);
}