我需要写一些方法来完成一件事,我不知道该怎么做.我很感激任何帮助.
假设我们有一个void m1(int z) {}
这样调用的方法
:
int x; ... m1(x);
基本上我需要确保方法m1正好使用我需要的'x'字段.不是'x'字段的值,而是指向字段'x',而不是指向此字段或任何其他类的其他字段.
更具体地说,我打算写一个if语句意思:
if (z is pointing to the field x) return true;
我不知道如何实现指向条件.有这种评估的标准方法吗?
非常感谢你的答复,你们所有人.
@durbnpoisn,@ Boris the Spider
代码本身尚不存在,但我正在尝试详细说明这些方法.我不是一个经验丰富的程序员,这就是为什么它可能看起来很奇怪.对不起.
但是,如果它有助于我的任务是制作几个"切换"按钮,当按下这些按钮时,从代码的不同部分切换掉某些字段和方法,就好像它们从未使用过一样.
例如,代码行看起来像supCrossVal = x^realOpt/setPower(mine)所有开关关闭,它应该像supCrossVal = x^realOptSWITCH1打开时那样执行.
问题是初始代码非常大(因此相关调用的数量)和开关数量大约为10-15,并且一些swithes可以关闭相同的方法和字段.因此,在我看来,为每个字段或方法调用添加if语句(检查开关是打开还是关闭)将使代码难以阅读.并且每个交换机的重载方法看起来过于简单,代码也乱丢垃圾.所以我在考虑一种基于指向思想的简单方法.
基元是值类型,因此没有"指向"它们的概念.如果要确保两个变量指向同一个对象,则它们必须是引用类型.在您的情况下,您可以通过使用盒装类型Integer而不是int(对于您的方法参数和字段)以及==用于比较来实现此目的.==,当与引用类型一起使用时,比较引用本身,因此true如果两者都指向同一对象,则返回.相反,==如果值相同,则原始类型返回true .
正如Boris所提到的,如果值在范围内,这将不起作用,[-128, 127]因为它们被缓存,因此Integer x = 127; Integer y = 127;,x并且y引用相同的实例.