我有两个结构完全相同的 Bean。我以完全相同的方式将这两个 bean 拉入同一个 java 类中。但只有其中一个有问题。
这是我尝试构建它时的错误:
cannot find symbol symbol : constructor BalanceBean(java.lang.String) location: class HWpackage.BalanceBean
这是工作 bean,UserBean2
package HWpackage;
public class UserBean2 {
private String id;
public UserBean2(String id) {
setUsername(id);
}
public String getUsername() {
return(id);
}
public void setUsername(String id) {
if (!isMissing(id)) {
this.id = id;
}
}
private boolean isMissing(String value) {
return((value == null) || (value.trim().equals("")));
}
}
这是有效的 getter 语句:
UserBean2 userBean2 = (UserBean2)session.getAttribute("userBean2");
String un = request.getParameter("id");
userBean2 = new UserBean2(un);
session.setAttribute("userBean2", userBean2);
现在将其与非工作代码进行比较。
BalanceBean:
package HWpackage;
public class BalanceBean {
private String balance, id;
public BalanceBean (String balance, String id) {
setBalance(balance);
setID(id);
}
public String getBalance() {
return(balance);
}
public void setBalance(String balance)
{
this.balance = balance;
}
public String getID() {
return(id);
}
public void setID(String id)
{
this.id = id;
}
}
及其 getter 语句:
BalanceBean balanceBean = (BalanceBean)session.getAttribute("balanceBean");
String balance = request.getParameter("balance");
balanceBean = new BalanceBean(balance);
session.setAttribute("balanceBean", balanceBean);
无论出于何种原因,BalanceBean 都出现在以下行中:balanceBean = new BalanceBean(balance); 是造成所有问题的原因。
有人可以告诉我为什么吗?
更新: 好的,如果我将 BalanceBean 更改为:
package HWpackage;
public class BalanceBean {
private String balance, id;
public BalanceBean (String balance) {
setBalance(balance);
}
public String getBalance() {
return(balance);
}
public void setBalance(String balance)
{
this.balance = balance;
}
public String getID() {
return(id);
}
public void setID(String id)
{
this.id = id;
}
}
如何添加回我的字符串 ID?
最佳答案
它们并不相同,并且错误准确地告诉您出了什么问题:
cannot find symbol symbol : constructor BalanceBean(java.lang.String)
BalanceBean 中没有将 String
作为唯一参数的构造函数。
你有:
public BalanceBean (String balance, String id)
并且正在尝试调用:
balanceBean = new BalanceBean(balance);
编辑:如果您想添加第二个构造函数,您可以:
public BalanceBean (String balance) {
setBalance(balance);
}
关于java - 我有 2 个结构相同的 bean 和 2 个结构相同的 getter 语句,但只有一个有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5711560/