Найти в Дзене
84 подписчика

🔥 5 фишек Java разработчика


Ваш путь к становлению настоящим экспертом в мире программирования проходит через полное доверие к языку Java. Он используется миллионами разработчиков по всему миру, и сегодня мы покажем вам пять интересных и неочевидных вещей, которые сделают Java вашим любимым языком программирования.

1. Гибкость интерфейсов

interface Vehicle {
void start();
void stop();

default void honk() {
System.out.println("Beep beep!");
}
}

class Car implements Vehicle {
@Override
public void start() {
System.out.println("Car started.");
}

@Override
public void stop() {
System.out.println("Car stopped.");
}
}

public class Main {
public static void main(String[] args) {
Car car = new Car();
car.start();
car.stop();
car.honk(); // Использование метода по умолчанию из интерфейса
}
}

2. Обработка исключений

class CustomException extends Exception {
public CustomException(String message) {
super(message);
}
}

public class Main {
public static void main(String[] args) {
try {
// Бросаем исключение CustomException
throw new CustomException("Something went wrong.");
} catch (CustomException e) {
System.out.println("Exception caught: " + e.getMessage());
}
}
}

3. Использование аннотаций

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation {
String value() default "";
}

public class Main {
@MyAnnotation(value = "Example")
public static void main(String[] args) {
// Получаем аннотацию и выводим значение
MyAnnotation annotation = Main.class.getAnnotation(MyAnnotation.class);
System.out.println("Annotation value: " + annotation.value());
}
}

4. Перечисляемые типы

enum Day {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}

public class Main {
public static void main(String[] args) {
Day today = Day.TUESDAY;
System.out.println("Today is " + today);
}
}

5. Лямбда-выражения

import java.util.ArrayList;
import java.util.List;

public class Main {
public static void main(String[] args) {
List<integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);

// Применение лямбда-выражения для удвоения значений списка
numbers.replaceAll(n -> n * 2);

System.out.println(numbers); // Выводит: [2, 4, 6]
}
}


1 минута