Java中的引用、指针和变量



我通常用python和C编程,所以java的世界让我很困惑。

我正在寻找一种使我的代码更优雅的方法,在这些其他语言中,我会通过引用(或指针,取决于语言)传递变量来实现。

在代码的某一点上,我重复了一段代码几次,因为每一次都依赖于先前的特定情况。总之,可以理解的是,我想用相同的代码块修改几个变量,为此我首先要选择我想修改的变量,为它分配一个"昵称",然后使用昵称但修改原始变量。

所以我想改变这个

if (condition){
if (condition){
//modify var1
} else {
//modify var2
}
}else if (condition){
if (condition){
//modify var1
} else {
//modify var2
}
}

if (condition){
nickname = var1;
} else {
nickname = var2;
}
if (condition){
// modify nickname
}else if (condition){
// modify nickname
}

在Java中有办法做到这一点吗?或者我(使用这种方法)有多余的代码?

C中,我可以这样做

// nickname as pointer from type of var1 and var2
if (condition){
nickname = &var1;
} else {
nickname = &var2;
}
// Work over nickname

给定

if (condition){
nickname = var1;
} else {
nickname = var2;
}

仅当var1var2为:

  1. 对象实例的引用(即不是原始值)
  2. 可变的,即具有可以改变的内部状态(String是不可变的)
  3. 相互类型兼容。nickname必须从var1var2中分配

在这种情况下,你可以使用nickname来修改被引用对象的内部状态。

最新更新