Рубрики
Без рубрики

Интересные функции JDK 12, на которые следует обратить внимание.

Java совершенствуется, вот несколько интересных улучшений.. С тегами java, новички, Android, производительность.

С новым 6-месячным циклом выпуска Java вы должны ожидать, что интересные функции будут доставаться разработчикам более быстрыми темпами. Я видел некоторые функции cools, которые вы могли бы ожидать увидеть в выпуске JDK12 в следующем году. Вы можете получить сборку раннего доступа Open JDK 12 и попробовать эти функции предварительного просмотра out.

Переключение выражений

Например, у вас есть перечисление дней недели, и вы хотите использовать оператор switch для возврата количества букв в строке. Есть лучшие способы сделать это, но мы собираемся использовать операторы Switch, чтобы продемонстрировать это.

Вот перечисление:

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

С тем, что мы знаем в Java, это, вероятно, было бы решением:

      int numLetters;
        switch(day){
            case MONDAY: case FRIDAY: case SUNDAY:
                numLetters=6;
                break;
            case TUESDAY:
                numLetters=7;
                break;
            case THURSDAY: case SATURDAY:
                numLetters=9;
                break;
            case WEDNESDAY:
                numLetters=10;
                break;
            default:
                throw new NoSuchDayException(day);

        }

Это действительно может вызвать некоторые ошибки, поскольку может затруднить поддержку кода. С помощью выражений Switch вы можете записать Switch как выражение. В инструкции Switch значение по умолчанию не требуется.

Вот как будет выглядеть код:

int numLetters=switch(day)
        {
            case MONDAY, FRIDAY, SUNDAY -> 6;
            case TUESDAY -> 7;
            case THURSDAY, SATURDAY -> 8;
            case WEDNESDAY -> 9;
        };

Записи

Мы все знаем наши POJO (обычный старый объект Java), они поставляются с большим количеством шаблонного кода, например, вот классический POJO:

class Point {
    double x;
    double y;

    Point(double x, double y) {
        this.x = x;
        this.y = y;
    }

    public void setX(double x) {
        this.x = x;
    }

    public double getX() {
        return x;
    }

    public void setY(double y) {
        this.y = y;
    }

    public double getY() {
        return y;
    }

    @Override
    public int hashCode() {
        return super.hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        return super.equals(obj);
    }


    @Override
    public String toString() {
        return super.toString();
    }
}

Что ж, Records (в настоящее время не предназначен для JDK 12 на момент написания этой статьи) замените весь этот код POJO всего одной строкой:

 record Point(double x, double y);

Есть и другие интересные функции, которые можно ожидать в JDK 12 и за его пределами, я лично ценю тот факт, что сообщество Java реагирует и стремится продвигать Java вперед.

В случае, если вы заинтересованы в том, чтобы узнать больше, вы можете посмотреть это видео:

Оригинал: “https://dev.to/lemuelogbunude/interesting-jdk-12-features-to-watch-out-for-ijp”