Как вызвать строку, переносящуюся в пакете списков?

У Java есть указатели.

Путаница, имеет ли Java указатели или нет, тесно связана с обсуждением, является ли Java вызовом по ссылке или вызовом по значению.

Неинформированные люди думают, что в Java нет указателей, и поскольку метод может изменить объект, который был передан, с эффектами этого изменения, видимыми для вызывающего, они считают, что его нужно вызывать по ссылке.

Это не правильно, однако.

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

«Небезопасная» история - это совсем другое. Обычно это отличается от вопроса, есть ли в Java указатели или нет. Указатели Java безопасны; они указывают на объекты и, используя обычные языковые конструкции, ими нельзя манипулировать, чтобы указывать на произвольные области памяти.

Существует, однако, JNI, но потом нативный код делает потенциально небезопасные вещи, а не код Java.

Существует также Java в реальном времени (jsr-1), где вы абсолютно точно можете получить доступ к определенным областям памяти в вашей системе. Это, однако, очень специфическая и довольно редкая версия Java, которая в основном используется для встраиваемых целей. Если бы это подразумевалось, я предполагаю, что это было бы явно упомянуто.

40
задан Community 8 February 2017 в 14:12
поделиться

2 ответа

Не лучший ответ, но одна идея состоит в том, чтобы перенести исходный код по словам перед его включением. Если вы работаете в Linux, для этого можно использовать команду fold . Ясно, что это работает лучше всего, если текст имеет шрифт фиксированной ширины, который я бы рекомендовал в любом случае для листингов кода.

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

I just had this problem...

breaklines worked for me, though you do need to set it to true - the default is false:

\lstinputlisting[style=Python,
    caption=My Class,
    label={mine.py},
    breaklines=true,
  ]{../python/mine.py}

is pretty much what I used

58
ответ дан 27 November 2019 в 01:38
поделиться
Другие вопросы по тегам:

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