Как я могу напечатать текст, например язык программирования без двойных кавычек и апострофов в исходном коде? Я сделал в C ++:
#include <iostream>
#define Rep(x) #x
int main()
{
printf(Rep(programming language));
return 0;
}
Программа в порядке, но мне интересно, есть ли другой способ сделать это? и как это сделать в Java? Есть ли возможность сделать это в Java?
Вставьте единицы кода как целочисленные литералы:
#include <iostream>
int main() {
char[] string = { 0x41, 0x42, 0x43, 0x0A, 0x00 };
std::cout << string;
}
В Java это должно сделать:
byte[] bytes = {(byte)0x41, (byte)0x42, (byte)0x43, (byte)0x0A};
String string = new String(bytes, "UTF-8");
В C ++ 11 появилось много новых возможностей для строковых литералов.
Лучший способ избежать размещения строковых литералов в вашем коде — это использовать файл для их чтения. Примечание: вы должны учитывать ясность при взгляде на альтернативы. Спроси себя как
Rep(programming language)
яснее / лучше, чем
"programming language"
Кстати: если вы хотите сделать ваш код нечитаемым, вы можете сделать это на Java
String s = \u0022programming language\u0022