我对Java还是很陌生,最近又陷入了一个问题,我不断收到以下错误:
错误:类User中的构造函数User无法应用于给定类型;
必需:字符串
找到:字符串,字符串,字符串,字符串
原因:实际和正式论点清单的长度不同
我已经查了类似的问题,但我似乎无法弄清楚。
我的构造函数:
import org.w3c.dom.Node;
public class User {
private String name,address,phoneNumber,emailAddress;
public User() {
}
public User(String name, String address, String phoneNumber, String emailAddress) {
this.name = name;
this.address = address;
this.phoneNumber = phoneNumber;
this.emailAddress = emailAddress;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getEmailAddress() {
return emailAddress;
}
public void setEmailAddress(String emailAddress) {
this.emailAddress = emailAddress;
}
}
我的活动调用代码
@Override
public void onClick(View v) {
User user = new User(edt_name.getText().toString(),
edt_address.getText().toString(),
edt_email.getText().toString(),
phoneNumber);
The error screenshot
它的意思是接受输入到视图中并将其传递给firebase。
最佳答案
在您的Activity(尝试构造User
对象的地方)中,您导入了另一个User
类。找到import com.incorrect.other.User
行并将其替换为您自己的import com.myapp.mycode.User
。
发生这种情况的一个线索是,屏幕快照显示User
构造函数期望接收String uid
,但是您在自己的User
类中定义的两个构造函数都不是uid。因此,您的活动必须引用其他User
,这意味着您的导入错误。