我试图生成一个动态对象名称,每次创建对象时都会更改这些名称。类似的东西:
第一个对象名称与"userName"
类似,以下内容与"userName1"
类似。
我是java的新手,我尝试初始化int count=0
和count++
来执行此操作,但User
类似乎不允许我这样做这样做userName+count
。因此,无论如何我有可能去做吗?
我已经搜索了所有关于动态对象名称的类似帖子,但它似乎并不适用于我的情况。
修改
所以我建立了这个应用程序,允许用户创建帐户。 而且,现在我遇到了这个问题,每当我试图创建新帐户时,
Firebase会清除我之前插入的所有数据,并将其替换为当前插入的数据。
这是我的代码:
Main.java
name = (EditText) findViewById(R.id.edit_rName);
email = (EditText) findViewById(R.id.edit_rEmail);
password = (EditText) findViewById(R.id.edit_rPassword);
Button btnSubmit = (Button) findViewById(R.id.btn_rSubmit);
btnSubmit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Firebase f = new Firebase("https://xxx.firebaseio.com/");
Firebase usersRef = f.child("users");
Map<String, User> users = new HashMap<String, User>();
users.put(name.getText().toString(), new User(name.getText().toString(), password
.getText().toString(), email.getText().toString()));
usersRef.setValue(users);
}
});
User.java
public class User {
private String fullName;
private String password;
private String email;
public User(String fullName, String password,String email) {
this.fullName = fullName;
this.password = password;
this.email = email;
}
public String getPassword() {
return password;
}
public String getFullName() {
return fullName;
}
}
答案 0 :(得分:2)
如果您事先知道要创建的对象数量,则应使用数组;如果事先不知道,则应使用列表。
阵列:
String[] usernames = new String[4];
usernames[0] = "Alex";
usernames[1] = "Bob";
usernames[2] = "Carol";
usernames[3] = "David";
//usernames[4] = "Eliza"; // won't work, out of bounds!
System.out.println(usernames[2]); //prints Carol
列表(推荐)(首次导入java.util.ArrayList
):
List<String> usernames = new ArrayList<String>();
usernames.add("Alex");
usernames.add("Bob");
usernames.add("Carol");
usernames.add("David");
usernames.add("Eliza");
System.out.println(usernames.get(2)); // prints Carol
usernames.set(2, "Carlos");
System.out.println(usernames.get(2)); // prints Carlos