Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СКТ - Лекция №2

.pdf
Скачиваний:
10
Добавлен:
09.05.2015
Размер:
374.2 Кб
Скачать

Java.

Программирование реальных приложений

Сравнение объектов

int int1 = 1; int int2 = 1;

log.info("Q: int1 == int2? A: " + (int1 == int2));

!

Integer integer1 = Integer.valueOf(int1); Integer integer2 = Integer.valueOf(int2);

log.info("Q: Integer1 == Integer2? A: " + (integer1 == integer2));

!

integer1 = new Integer(int1); integer2 = new Integer(int2);

log.info("Q: Integer1 == Integer2? A: " + (integer1 == integer2));

!

Employee employee1 = new Employee(); Employee employee2 = new Employee();

log.info("Q: Employee1 == Employee2? A: " + (employee1 == employee2));

INFO: Q: int1 == int2? A: true

!

INFO: Q: Integer1 == Integer2? A: true

!

INFO: Q: Integer1 == Integer2? A: false

!

INFO: Q: Employee1 == Employee2? A: false

Сравнение с помощью метода equals

Logger l = Logger.getLogger(Employee.class.getName());

!

Integer integer1 = Integer.valueOf(1); Integer integer2 = Integer.valueOf(1);

l.info("Q: integer1 == integer2? A: " + (integer1 == integer2));

l.info("Q: integer1.equals(integer2)? A: " + integer1.equals(integer2));

!

integer1 = new Integer(integer1); integer2 = new Integer(integer2);

l.info("Q: integer1 == integer2? A: " + (integer1 == integer2));

l.info("Q: integer1.equals(integer2)? A: " + integer1.equals(integer2));

!

Employee employee1 = new Employee(); Employee employee2 = new Employee();

l.info("Q: employee1 == employee2? A: " + (employee1 == employee2)); l.info("Q: employee1.equals(employee2)? A: " + integer1.equals(integer2));

INFO: Q: integer1 == integer2? A: true

!

INFO: Q: integer1.equals(integer2)? A: true

!

INFO: Q: integer1 == integer2? A: false

!

INFO: Q: integer1.equals(integer2)? A: true

!

INFO: Q: employee1 == employee2? A: false

!

INFO: Q: employee1.equals(employee2)? A: true

Перегрузка equals

public boolean equals(Object obj) { if (this == obj)

return true; if (obj == null) return false;

if (getClass() != obj.getClass()) return false;

Person other = (Person) obj; if (age != other.age)

return false;

if (eyeColor == null) {

if (other.eyeColor != null) return false;

} else if (!eyeColor.equals(other.eyeColor))

 

return false;

 

 

if (height != other.height)

 

 

return false;

 

 

//

сравнение

других

полей

return true;

 

 

}

Перегрузка toString

public String toString() {

return "Person [name=" + name + ", age=" + age + ", height=" + height

+", weight=" + weight + ", eyeColor=" + eyeColor + ", gender="

+gender + "]";

}

Исключения

Исключение - это событие, которое происходит во время выполнения программы, нарушая нормальный ход выполнения ее инструкций.

Пример исключения

private static Logger logger;// =

// Logger.getLogger(Employee.class.getName());

!

public static void main(String[] args) { Employee employee1 = new Employee(); employee1.setName("J Smith"); Employee employee2 = new Employee(); employee2.setName("J Smith");

logger.info("Q: employee1 == employee2? A: " + (employee1 == employee2)); logger.info("Q: employee1.equals(employee2)? A: "

+ employee1.equals(employee2));

}

Блок Try-Catch-Finally

try {

Employee employee1 = new Employee(); employee1.setName("J Smith"); Employee employee2 = new Employee(); employee2.setName("J Smith");

logger.info("Q: employee1 == employee2? A: " + (employee1 == employee2));

logger.info("Q: employee1.equals(employee2)? A: "

+employee1.equals(employee2));

}catch (NullPointerException npe) {

//Обработка...

System.out.println("Ошибка!");

}finally {

//Всегда выполняется