我对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,这意味着您的导入错误。

10-01 16:56
查看更多