首页 > 解决方案 > java构造函数不能应用于给定类型android studio

问题描述

我对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);

错误截图 意味着接受视图的输入并将其传递给firebase。

标签: javaandroidconstructor

解决方案


在您的 Activity(您尝试构建User对象的地方)中,您导入了一个不同的User类。找到该import com.incorrect.other.User行并将其替换为您自己的import com.myapp.mycode.User.

发生这种情况的一个线索是屏幕截图显示User构造函数期望接收 a String uid,但是您在自己的User类中定义的两个构造函数都没有提到 uid。所以你的活动必须是指其他 User的,这意味着你的进口是错误的。


推荐阅读