Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.
Например, ниже - класс ученика, который будет использовать его в нашем коде.
public class Student {
private int id;
public int getId() {
return this.id;
}
public setId(int newId) {
this.id = newId;
}
}
Приведенный ниже код дает вам исключение с нулевым указателем.
public class School {
Student obj_Student;
public School() {
try {
obj_Student.getId();
}
catch(Exception e) {
System.out.println("Null Pointer ");
}
}
}
Поскольку вы используете Obj_Student
, но вы забыли инициализировать его, как в правильном коде, показанном ниже:
public class School {
Student obj_Student;
public School() {
try {
obj_Student = new Student();
obj_Student.setId(12);
obj_Student.getId();
}
catch(Exception e) {
System.out.println("Null Pointer ");
}
}
}
Я использую msys-мерзавец на окнах каждый день. Работы быстро и безупречно.
, Хотя более новая сборка имеет некоторые проблемы с мерзавцем-svn, , эта сборка (Git-1.5.5-preview20080413.exe) имеет рабочего мерзавца-svn.
Наконец я проверил, единственной вещью, в которой Вы нуждаетесь для Подвижного, является Python, и к захватывают двоичный пакет . Если Вы оказываетесь с большим количеством времени и хотите играть / создают его сами, взгляд здесь .
единственный реальный недостаток с HG является своей идеей перейти.. но для некоторых людей это - майор плюс.
мне нравится он, потому что его интуитивное, легкое для установки и работы над чем-либо, что делает Python. Я не думаю, что все доступные плагины будут работать на Вас, но большинство должно.
Существует хорошее сравнение между мерзавцем, hg и bzr в эта статья InfoQ. У них всех есть свои достоинства и недостатки. Необходимо будет думать о проекте и рабочих процессах и выбрать лучшее соответствие. Хорошие новости - то, что они все довольно хороши.
РЕДАКТИРОВАНИЕ: Возможно, добавьте "dvcs", "distrubutedversioncontrol", "distrubuted"
, который я использовал Подвижный в Windows без проблем. Можно использовать TortoiseHG или просто использовать командную строку. Подвижный действительно требует Python, но это легко установить в Windows также.
У меня была лучшая удача с Базаром, сопровождаемым Подвижным. Никогда не мог заставлять Мерзавца работать правильно. Быстрый поиск показывает, что Мерзавец все еще требует неуклюжих слоев эмуляции как Cygwin/MSYS, и я не могу найти инструменты интеграции как TortoiseBzr для Мерзавца.
С Подвижным в Windows, у меня было несколько незначительных проблем (нечувствительные пути, символьные ссылки). Они обычно фиксировались в конечном счете, но я чувствовал, что то же качество тестирования не было применено к работе Windows что касается других платформ. Базар также имел лучшую документацию для интеграции с исходными приложениями как Визуальный C.
Если Вы обеспокоены простым в использовании интерфейсом:
люди базара теперь включают TortoiseBzr в свой двоичный пакет окон. Это получено, чтобы быть довольно сильным индикатором, что они думают, что это на должном уровне. Я не знаю, какова зрелость/устойчивость TortoiseHg, но конечно, еще нет достойного графического интерфейса для мерзавца, и сборке мерзавца MSYS все еще нужна некоторая работа IMO.
, Если Ваши команды довольны или предпочитают командную строку, то или базар или подвижный, вероятно, работал бы хорошо на Вас, и оба, вероятно, о том же с точки зрения кривой обучения. Кривая обучения мерзавца намного выше. Это похоже на швейцарский нож, который почти более широк, чем это длинно, со всеми небольшими гаджетами и-папами в нем и зависающий от него, с пружинами, столь трудными, что Вы иногда нарезаете палец открытая попытка снять блейд с помощью рычага.
Я соглашаюсь с basszero. Я использую подвижный под окнами, и это так легко и надежно, как это может добраться. Моя группа разработчиков распространена по Европе (хорошо Дублин и Вена :-). Мы используем VPN для фиксации или когда-то созданный в веб-сервере (hgserve). Оба хорошо работают без проблем из поля.
Также diff3 работы инструмента с открытым исходным кодом, прекрасные с подвижным и TortoiseHG из поля.
По моему опыту, использование МЕРЗАВЦА на окнах является сильной болью. Но я использовал Окаменелость SCM в течение некоторого времени теперь, и я думаю, что это на самом деле соответствует Вашим потребностям точно.
Это также имеет созданный в системе Билета и Wiki. И целая программа содержится в 1 файле, и это работает правильно из поля.
я полностью рекомендую это.
Вот ссылка на сайт , http://www.fossil-scm.org/
Помнит, этот сайт сам хостинг, что это означает, Вы, смотрят на веб-интерфейс к окаменелости это сам, когда Вы смотрите на билеты и Wiki и документацию, Вы на самом деле используете окаменелость.
, Но если Ваш проект имеет миллионы строк кода и является несколькими гигабайтами в размере, необходимо использовать МЕРЗАВЦА, нет никакого пути вокруг той проблемы.
Обладают.