用户没有定义无参数构造函数[重复]

Posted

技术标签:

【中文标题】用户没有定义无参数构造函数[重复]【英文标题】:users does not define no argument constructor [duplicate] 【发布时间】:2018-05-22 05:47:53 【问题描述】:

我一直收到这个错误 “用户没有定义无参数构造函数。如果您使用 ProGuard,请确保这些构造函数没有被剥离。”什么都试过了,不知道为什么会这样。

public void retrievingUserInfo()

    databaseUserID.addValueEventListener(new ValueEventListener() 
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) 

            //clearing the previous userinfo list
            Users_Info.clear();

            //iterating through all the nodes
            for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) 
                //getting userinfo
                users userinfo = postSnapshot.getValue(users.class);
                //adding userinfo to the list
                Users_Info.add(userinfo);
            
        

        @Override
        public void onCancelled(DatabaseError databaseError) 

        
    );

users.class

@Keep
public class users 

    public String user_id, address, contact, name;

    public users(String user_id, String address, String contact,String name) 
    



【问题讨论】:

【参考方案1】:

JavaBeans require a no-argument constructor 出现。

当 Java 类根本没有构造函数时,编译器会自动添加一个默认的无参数构造函数。在类中定义任何构造函数的那一刻,默认的无参数构造函数就会消失。

在您的代码中,您的 users 类定义了这样一个包含参数的构造函数:

public users(String user_id, String address, String contact,String name) 

只要该构造函数存在,并且您没有定义无参数构造函数,该类就不会有一个。

要解决这个问题,您要么需要从类中删除该构造函数,要么手动添加一个无参数构造函数:

public users() 

【讨论】:

哇,谢谢!欣赏它! 但是这样做我只检索用户ID,并且不会检索用户ID下的所有数据,例如姓名,地址等。 您的班级成员姓名需要与数据库中孩子的姓名相匹配。或者您需要提供以 JavaBeans 方式匹配的 getter 和 setter。 “用户”:“73fsRy0znKRa5zFEl5XsJM4Q7Zf1”:“地址”:“Lokawi”,“联系人”:“999”,“姓名”:“Logiut”,“QnHe3Y7LHQXnqrUT85v18PAKhbm1”:“ address" : "Papar", "contact" : "852,525,", "name" : "Bantaton" , 这就是 json 数据的样子,我添加了另一个 public users() 但这次是构造函数,并且字符串如下: public class users private String user_id, address, contact, name;仍然只获取用户 ID。 您可能想问第二个格式正确的问题,解释您遇到的这个新问题。

以上是关于用户没有定义无参数构造函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

....没有定义无参数构造函数? [复制]

ASP.NET MVC:没有为此对象定义无参数构造函数

没有为此对象定义无参数构造函数。 MVC 5

ExpressMapper / EntityFramework - 没有为此对象定义无参数构造函数

是否可以在 WCF 中没有无参数构造函数的情况下序列化对象?

将数据从 Firebase 提取到 RecyclerView 时出错。致命异常:...没有定义无参数构造函数