Действительно ли возможно записать метод подкачки в Java? [дубликат]

В зависимости от Ваших потребностей пара других Вы могли бы посмотреть на:

Вспышка

flare

Предварительный предохранитель

prefuse

49
задан AraK 1 September 2009 в 04:42
поделиться

5 ответов

Нет, без использования массива или объектов это невозможно сделать в рамках метода.

45
ответ дан 7 November 2019 в 11:27
поделиться

Чтобы написать метод подкачки, который меняет местами примитивы, вам понадобится концепция «выходных» переменных, то есть переменных, значения которых передаются в вызывающий контекст. В C # они есть, но вы все равно должны указать, что это не переменные.

2
ответ дан 7 November 2019 в 11:27
поделиться

Ознакомьтесь с этой статьей JavaWorld, которая подробно объясняет это:

http://www.javaworld.com/javaworld/javaqa/2000-05/03- qa-0526-пасс. html

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

Как сказал @Thomas, единственное, что вы можете сделать, - это поместить свои примитивы в другие объекты / массивы и изменить их.

18
ответ дан 7 November 2019 в 11:27
поделиться

В java5 самое близкое, что я могу придумать, которое может вам помочь, это:

Класс AtomicInteger (и другие) имеет getAndSet () атомарные методы ..

2
ответ дан 7 November 2019 в 11:27
поделиться

Как сказал Томас Оуэнс. Вероятно, вы могли бы сделать это на C, передав переменные по & ссылке, но, к сожалению, не в Java без использования объектов.

0
ответ дан 7 November 2019 в 11:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: