【问题标题】:Java - Get the array position from a method's parameterJava - 从方法的参数中获取数组位置
【发布时间】:2018-11-19 04:27:03
【问题描述】:
void someMethod(int x){
    --do some calculations here--
}

...

int[]   i   = new int[8];
someMethod(i[3]);

假设在我的 someMethod 中我想使用输入参数的值进行计算,即 i[3],并且在我的计算中也使用 position 原始数组的位置,而不仅仅是它的值。

如何在方法中判断输入参数是否来自数组,如果是数组,则使用的值的位置?

类似这样的:

void someMethod(int x){

int y = 5;
int z = 0;
z = x + y + x.ArrayPosition;
System.out.print(z);

}

【问题讨论】:

  • 没有一些黑魔法,这是不可能的。该方法永远不会看到数组,只有一个值。这听起来像XY problem。您能告诉我们您为什么需要这些信息吗?
  • 我有一个 ImageView[] 数组,我给它们都添加了 MouseEvent,所以当我点击图片时,它会改变颜色等。在这个事件中(或者更确切地说是包含这个事件的方法)我需要定义调用哪个 ImageView 来改变它的颜色
  • 要么将ImageView[] 作为参数传递给方法,要么使环绕类无法访问ImageView[]
  • 我之前将 ImageView[] 作为参数传递给该方法,但是假设我有 16 个图像,当单击一个图像时,我希望它将颜色更改为 Color.X,其他 15 个更改color 到 Color.Y,就像一个单选按钮。在这种情况下,我必须传递所有 16 个 ImageView,因此我将使用一个数组作为参数,但是该方法必须知道单击了哪个 ImageView,这就是为什么知道数组的位置很重要
  • 第二个参数:点击图片的索引。

标签: java arrays methods parameters position


【解决方案1】:

你不能只传递数组和索引作为函数参数吗?

void someMethod(int[] array, int index) {
int y = 5, z = array[index] + y + index;
System.out.println(z); }

【讨论】:

  • 这不是答案,而是评论。
  • 我明白了,谢谢,这解决了问题,如果有没有其他参数的方法中可以做到这一点,我很感兴趣,如果有任何可以使用的内置函数
  • 对不起,我发现我也不能解决这个问题
  • 我的意思是它很有用并帮助了我,谢谢,我只是添加了这个问题,这是我的错,因为没有更好地抗拒它,也没有更好地了解它
猜你喜欢
  • 2018-08-29
  • 2011-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-03
相关资源
最近更新 更多