是否可以在Java中使用变量创建引用?

时间:2015-02-20 13:51:25

标签: java reference

我想知道是否可以使用名称

的变量创建引用

示例:

假设我在代码中的某个地方有一个静态引用,该代码拥有多个用户,在0开头(public static int countUsers = 0;

现在每次调用方法adduser时,它都会在引用

上使用该变量
public void addUser() {
     User newuser(countUsers) = new User();
     countUsers++;
}

将“自动增量”排序为id。我想在不使用SQL或任何其他第三方程序的情况下执行此操作。只有java。 谢谢!

2 个答案:

答案 0 :(得分:0)

您需要为User类设置构造函数才能使用此计数器。你可以通过几种方式做到这一点。如果计数器仅用于User,则可以将静态计数器移动到类本身,并且在默认构造函数中只需分配和递增。如果它真的是外部的,那么你需要创建一个接收计数的构造函数

public User(int count){
    this.count = count;
}

然后像

一样创建你的课程
User newUser = new User(countUsers++);

很可能,你想要的是

class User{
    private static int userCount = 0;
    private int userId;

    public User(){
        this.userId = userCount++;
    }

    public static int getUsersCount() { return User.userCount; }
}

答案 1 :(得分:0)

如果您真正尝试存储引用而不是尝试执行我在其他答案中发布的内容,那么您可能需要采取不同的方法。 Java按值传递原始值。因此,如果您尝试传入该值,则只会获得该值的副本。相反,您需要将全局计数器包装在一个类中,然后您可以从中访问全局参数,或者如果您使用的是Java 8,则可以将一些lambda魔法串起来为您获取计数器。