Другое событие NullPointerException
возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.
String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
System.out.println(phrase.equals(keyPhrase));
}
Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals
для гарантированного непустого объекта.
Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null
.
Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.
String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
System.out.println(phrase.equals(keyPhrase));
}
Вы не должны застревать к значению по умолчанию своего терминала 16 (или меньше) цвета. Современные терминалы будут поддерживать 256 цветов (который получит Вас достаточно близкий к Вашему виду GUI).
, К сожалению, заставляя Ваш терминал поддерживать 256 цветов хитрая часть и варьируется от термина до термина. Эта страница выручила меня много (но это устаревшее; я определенно получил 256 цветов, работающих в терминале гнома и xfce4-терминале; но Вам, вероятно, придется создать их из источника.)
, Как только у Вас есть свой терминал счастливо с помощью 256 цветов, волшебный вызов устанавливает терминальный тип на "xterm-256color" перед вызовом emacs, например:
env TERM=xterm-256color emacs -nw
Или, можно установить СРОКИ в Вашем .bashrc
файл:
export TERM=xterm-256color
можно проверить, работало ли это в emacs путем выполнения M-x list-colors-display
, который покажет Вам или 16, или все 256 великолепных цветов.
, Если это работает, затем посмотрите color-theme
как кто-то еще предложенный.
(Вы будете, вероятно, расстроены в какой-то момент; бог знает, что я делаю каждый раз, когда я пытаюсь сделать что-то подобное. Но палка с ним; это стоит того.)
Я не уверен, возможно ли это, поскольку GUI может иметь больше возможностей, чем терминал (да, я видел терминалы GUI только с 16 цветами совсем недавно). Это может зависеть от того, как терминал установлен. Во всяком случае я играл бы с Цветная Тема .
Так или иначе, почему Вы используете Emacs в обоих, терминале и GUI? Обычно люди находят один или другое обращение и используют только что один. При использовании Emacs удаленно возможно, Вы хотите выполнить его локально и использование Бродяга для открытия файлов удаленно, или как корня.
Я не думаю, что это возможно таким общим способом. С терминалом Вы обычно связываетесь с некоторыми предопределенными цветами (с вещами как терминал гнома, можно скорректировать эти цвета - но Вы все еще застреваете к предопределенному, ограниченному количеству цветов).