Java - 指向整数类型的指针

时间:2016-09-09 21:45:31

标签: java pointers

我希望有一个指向Integer类型的指针,没有自定义类,其元素是一个整数。

我想要的效果:

Byte x = 5;         // Byte is just an example and WILL NOT work.
Byte y = x;
y--;
System.out.println(x + "," + y);

我想要打印:

4,4

我认为ByteIntegerDouble可能会这样做,因为它们是一类具有内部变量的类,它是一种原始类型,但它们不会t保持对它们所分配的对象的引用。

2 个答案:

答案 0 :(得分:3)

您不能使用原始包装类型,因为它们是不可变的。您可以使用AtomicInteger执行此操作。像,

AtomicInteger x = new AtomicInteger(5);
AtomicInteger y = x;
System.out.println(y.decrementAndGet() + "," + x.get());

输出(根据要求)

4,4

,您可以使用int[]之类的

int[] x = { 5 };
int[] y = x;
System.out.println(--x[0] + "," + y[0]);

获得相同的输出。

答案 1 :(得分:1)

我不能完全同意Elliott关于AtomicInteger课程的答案。不是出于这些目的而已经开发出来。

我建议你

(1)考虑commons-lang课程(如MutableIntMutableDouble):

MutableInt wrapper = new MutableInt(value);

(2)将基本类型包装在具有相应get / set -ers的类包装器中:

class IntWrapper { private int value; }

(3)制作一个基元数组:

int[] wrapper = new int[] { value };