繁体   English   中英

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

[英]Is it possible to create a reference with a variable in Java?

我想知道是否可以使用变量为名称创建引用

例:

假设我在代码中的某个地方有一个静态引用,其中包含许多用户,在0 public static int countUsers = 0;public static int countUsers = 0;

现在每次我调用方法adduser时,它都会在引用时使用该变量

public void addUser() {
     User newuser(countUsers) = new User();
     countUsers++;
}

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

您需要为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; }
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM