java - 在android中将引用作为参数传递

标签 java android pass-by-reference

我是 java/android 的新手。我是一名 C/C++ 开发人员。我可以知道如何在 android 中将引用作为参数传递吗?下面显示了一个说明性的 c 示例代码

void main()
{
  int no1 = 3, no2 = 2, sum = 0;
  findsum( no1, no2, sum );
  printf("sum=%d", sum );
}

void findsum( int no1, int no2, int& sum )
{
  sum = no1 + no2;
}

请给我一个解决方案

谢谢

最佳答案

您不能在 Java 中将 int 作为引用传递。 int 是一个基本类型,它只能按值传递。

如果您仍然需要传递一个 int 变量作为引用,您可以将它包装在一个可变类中,例如一个 int 数组:

void findsum( int no1, int no2, int[] sum )
{
  sum[0] = no1 + no2;
}

无论如何,我强烈建议您重构您的代码以更加面向对象,例如:

class SumOperation {
   private int value;

   public SumOperation(int no1, int no2) {
      this.value = no1 + no2;
   }

   public int getReturnValue() { return this.value; }
}

关于java - 在android中将引用作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9324106/

相关文章:

Java - HashMap 上的 containsKey() 返回 null - 它是否检查确切的对象而不仅仅是匹配的键?

Java - 通过引用传递 Byte 对象

java - 一个接一个地播放音乐

java - JComboBox 第二个 KeyListener 防止第一个被解雇

java - 如何将临时 map 合并到永久 map 上,以便我可以记录同一键的多个项目?

android - 尝试运行 C2DM 示例项目

java - 刷新客户端凭证流的访问 token

android - 我们可以在 Android 中创建 Kiosk 应用程序吗?

javascript - JavaScript 是按引用传递还是按值传递语言?

java - 保证回调总是异步执行的最佳方式?