изменяя два значения одновременно в Java - PullRequest
0 голосов
/ 16 января 2012

Как я могу изменить два значения одновременно.Я пишу код для B-дерева в Java.Но я не могу изменить две переменные одновременно.Как и в C, мы делаем это с помощью указателей.Но как это сделать в Java?Надеюсь, мой вопрос понятен.

Ответы [ 3 ]

1 голос
/ 16 января 2012

Если один из них является целым числом, вы можете использовать AtomicStampedReference.См. здесь для определения.

0 голосов
/ 16 января 2012

Я не уверен, что полностью понимаю ваш вопрос, но установка ссылки на объект в Java является атомарной.Вы можете использовать это для изменения набора нескольких значений одновременно, например:

class BTreeState {
    int foo;
    long bar;
    String whatever;
}

//here you change foo, bar, whatever all at once
state = new State(1, 2L, "something");
0 голосов
/ 16 января 2012

Это поможет вам написать код b-tree.

ближайший заменитель указателя функции в Java

Вы также можете использовать клонирование.

...