Java 我有两个结构相同的bean和两个结构相同的getter语句,但只有一个有效
我有两个结构完全相同的bean。我以完全相同的方式将这两个bean拉入同一个java类。但其中只有一个有问题 以下是我尝试构建它时出现的错误: 找不到符号 符号:构造函数BalanceBean(java.lang.String) 位置:类HWpackage.BalanceBean 这是工作bean UserBean2Java 我有两个结构相同的bean和两个结构相同的getter语句,但只有一个有效,java,debugging,netbeans,constructor,javabeans,Java,Debugging,Netbeans,Constructor,Javabeans,我有两个结构完全相同的bean。我以完全相同的方式将这两个bean拉入同一个java类。但其中只有一个有问题 以下是我尝试构建它时出现的错误: 找不到符号 符号:构造函数BalanceBean(java.lang.String) 位置:类HWpackage.BalanceBean 这是工作bean UserBean2 package HWpackage; public class UserBean2 { private String id; public UserBean2(Stri
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 balanceBean = (BalanceBean)session.getAttribute("balanceBean");
String balance = request.getParameter("balance");
balanceBean = new BalanceBean(balance);
session.setAttribute("balanceBean", 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声明:
UserBean2 userBean2 = (UserBean2)session.getAttribute("userBean2");
String un = request.getParameter("id");
userBean2 = new UserBean2(un);
session.setAttribute("userBean2", userBean2);
BalanceBean balanceBean = (BalanceBean)session.getAttribute("balanceBean");
String balance = request.getParameter("balance");
balanceBean = new BalanceBean(balance);
session.setAttribute("balanceBean", balanceBean);
不管出于什么原因,行中的BalanceBean:BalanceBean=newbalancebean(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中没有将字符串作为唯一参数的构造函数
你有:
public BalanceBean (String balance, String id)
并试图拨打:
balanceBean = new BalanceBean(balance);
编辑:如果要添加第二个构造函数,您完全可以:
public BalanceBean (String balance) {
setBalance(balance);
}
它们不完全相同,错误在于准确地告诉您出了什么问题:
cannot find symbol symbol : constructor BalanceBean(java.lang.String)
BalanceBean中没有将字符串作为唯一参数的构造函数
你有:
public BalanceBean (String balance, String id)
并试图拨打:
balanceBean = new BalanceBean(balance);
编辑:如果要添加第二个构造函数,您完全可以:
public BalanceBean (String balance) {
setBalance(balance);
}
BalanceBean有一个双参数构造函数<代码>公共余额bean(字符串余额,字符串id)
。您只传递一个参数新BalanceBean(balance)
BalanceBean有一个双参数构造函数<代码>公共余额bean(字符串余额,字符串id)
。您只传递了一个参数新BalanceBean(balance)
看看BalanceBean类构造函数,似乎您还没有定义一个只有一个参数的构造函数。看看BalanceBean类构造函数,您似乎没有定义只有一个参数的构造函数。构造函数BalanceBeam(String,String)需要两个参数,而您只提供了一个参数。因此,需要BalanceBeam(String)类型的新构造函数构造函数BalanceBeam(String,String)需要两个参数,而您只提供了一个参数。因此需要一个BalanceBeam(String)类型的新构造函数我没有意识到我不能把所有需要的东西都放进去。那么我能在同一个bean中同时拥有平衡和id吗?如果是这样的话,我该怎么设置呢?我有点不明白你在问什么。你想做什么就做什么。当前您正在尝试调用一个不存在的构造函数。你的构造函数需要2个字符串,你给它一个。创建第二个构造函数,如果您愿意,它只接受一个字符串,就像在您的另一个bean中一样(参见上面编辑的答案)。非常感谢您的帮助,如果您能帮助我,我将更新我的问题,我将不胜感激@Turk,您似乎不了解方法或构造函数如何工作的基础知识。我不知道如何在这种情况下提供帮助,除了说您需要从基本编程教程开始。如果您想提供2个字符串(balance和id),那么您的第一个构造函数就可以了,但您没有这样做。现在你把它改成只接受一个论点。啊!谢谢你的帮助,我想我明白了。我查阅了一些关于构造器的信息,我相信我找到了答案。你帮了大忙!我不知道我不能把我需要的东西都放进去。那么我能在同一个bean中同时拥有平衡和id吗?如果是这样的话,我该怎么设置呢?我有点不明白你在问什么。你想做什么就做什么。当前您正在尝试调用一个不存在的构造函数。你的构造函数需要2个字符串,你给它一个。创建第二个构造函数,如果您愿意,它只接受一个字符串,就像在您的另一个bean中一样(参见上面编辑的答案)。非常感谢您的帮助,如果您能帮助我,我将更新我的问题,我将不胜感激@Turk,您似乎不了解方法或构造函数如何工作的基础知识。我不知道如何在这种情况下提供帮助,除了说您需要从基本编程教程开始。如果您想提供2个字符串(balance和id),那么您的第一个构造函数就可以了,但您没有这样做。现在你把它改成只接受一个论点。啊!谢谢你的帮助,我想我明白了。我查阅了一些关于构造器的信息,我相信我找到了答案。你帮了大忙!我不知道我不能把我需要的东西都放进去。那么我能在同一个bean中同时拥有平衡和id吗?如果是的话,我该怎么设置呢?我不知道我不能把我需要的东西都放进去。那么我能在同一个bean中同时拥有平衡和id吗?如果是,我该如何设置?