Другое событие 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));
}
Все и все, что вы когда-либо хотели узнать о css, можно найти в отдельном списке . Вам также может понравиться CSS сад . Великолепные примеры из реального мира, которые вы можете разобрать и взломать.
Проверка должна проводиться в нескольких местах в соответствии с функциональностью каждого места. Например, если средство связывания модели не может найти отправленные значения в правильном значении DateTime, то средство связывания может добавить ошибку состояния модели. Если, с другой стороны, ваша бизнес-логика требует, чтобы дата находилась в определенном диапазоне, это было бы неуместно и для связующего устройства модели; это должно быть на уровне бизнес-логики. Контроллеры могут также потенциально добавлять ошибки проверки, если, например, модель редактирования не может быть преобразована в модель объекта.
Структура проверки, такая как xVal, делает это намного проще.
Я предполагаю, что вы собираетесь использовать это повторно, поскольку вы назвали его шаблоном, поэтому я бы позаботился о том, чтобы вы упорядочили / сгруппировали элементы CSS в логической форме. (текст, макет и т. д.). Вы захотите что-то, что сможете быстро прочитать и настроить позже.
Определенно очистите поля и отступы по умолчанию , потому что разные браузеры ( кашляют IE) имеют свои собственные представления о том, какие поля и отступы, которые должны иметь различные элементы.
Наконец, используйте использование процентов и эмс . Это значительно уменьшит ваше дублирование. Например...
body { font-size: 12px };
.wrapper { width: 800px; }
Теперь у вас есть база, на которую может ссылаться все остальное. Поэтому я мог бы сделать что-то вроде этого:
h1 { font-size: 2em; }
.content { font-size: 1.2em; }
.sidebar { font-size: 1em; }
.content { width: 70%; }
.sidebar { width: 30%; }
Если вы решите, что 800px - это старая шляпа, вы можете изменить свою ширину на 900px, и все будет работать.
*
{
margin: 0;
padding: 0;
border: 0;
border-collapse: collapse;
}
Кий воображение
Не изобретайте колесо заново, найдите хорошую базу CSS и постройте ее.
It totaly depends on the situation. If I have to create a template for an existing page that is using CSS, often generated by an editor or something, I would use that as a starting point and change bits and pieces until it does what I want. This would go for wordpress and that kind of apps too.
When I do not have a css to start with I work from the to 'Body' and work my way down to the children of the children of the children etc. From big to small.
I like to use a tool that shows a visual representation of the css tag I'm editing so I can see what it looks like. I like Expression Web because it can navigate to styles very easy and shows me what it looks like.
Вы сказали в Ваш комментарий к к этому ответу о том, что вы хотите, чтобы его можно было легко настроить?
Я настоятельно рекомендую для этого некоторые расширения Firefox. Firebug отлично подходит для быстрого просмотра CSS за чем-то или для настройки CSS. Если вы наведете курсор мыши на что-нибудь в firebug, он отобразит css, и вы сможете отключить отдельные строки css и посмотреть, как браузер отображает это.
Я начинаю свой с нуля, просто набираю его, используя VS или Aptana и т. Д.
Я разрабатываю базовый макет, например, столбец 3.
Затем я использую встроенный стиль для создания базовый макет, добавление разметки и HTML, пока я не получу, как мне нравится. Затем я продолжаю в том же духе, пока не получу базовый каркас своего веб-сайта.
Отсюда я помещаю CSS во внешний файл и начинаю добавлять свои элементы, стилизуя их по ходу.
Прежде чем вы это узнаете, у вас будет что-то приятное, это происходит на удивление быстро!