All streams
Search
Write a publication
Pull to refresh
44
0

Разработчик

Send message

Вы правы )) я сегодня подтормаживаю иногда

P. P. S.


Попробовал написать


static class 35463 {
}

поймал исключение в "Идее" :D

3)


В переменной value действительно может быть null, но в этом случае массив result будет пустым, и мы в цикл никак не зайдём.

А если в массиве лежит 2 действительных значение, а 3-е — null, мы берём последний, передаём в конструктор и ловим НПЕ там?


6) Мне кажется, что в этом примере должна быть ещё проверка на пустую строку, иначе можно IOOBE поймать:


@Test
void name() {
  String nextClassName = new a1().getNextClassName("azaza", "");
}

static class a1 {
  int classCounter;
  public String getNextClassName(String fullName, String shortName) {
    if (shortName == null) {
      return "class_" + classCounter++;
    }

    int index = 0;
    while (Character.isDigit(shortName.charAt(index))) { // <---
      index++;
    }
    if (index == 0 || index == shortName.length()) {
      return "class" + classCounter++;
    }
    return fullName;
  }
}

P. S. Посмотрел статью, на которую ты ссылаешься, там написано


В обоих случаях в качестве shortName передаётся имя класса без пакета, которое по правилам виртуальной машины Java вполне может состоять из цифр.

Как такое возможно, если в исходниках имя ява-класса не может состоять из цифр?

Я про неё узнал только что из твоего верхнего комментария )

10 минут назад обновился ))

Известность — она такая, да ))

В интервью Егору ты ж вроде говорил, что живёшь рядом и всегда пешком ходишь?

Тагир рулит!

Обложка как из "Мортал Комбата" :)

Не знал )) Ставлю жирный плюс!

Программист захочет — сам поля в записи переупорядочит.

Я так и думал ))

Интересно, будет ли реализации equals(), созданная вызовом invokedynamic при исполнении, менять порядок сравнения, чтобы сначала сравнивались примитивные типы, строки и простые объекты?

Время покажет, такие вещи за год-два-пять не меняются.

Да, есть такое. Радует, что есть просто разница, но уже нет пропасти, бывшей в СССР и в "святые 90-е".

Есть хороший доклад Ивана Углянского, посвящённый всем тонкостям финализации: https://www.youtube.com/watch?v=XtijbFcQxyw

Кстати, в одном из последних докладов АШ показывал, что volatile можно убрать из объявления поля собственно одиночки, перенеся его в объявление поля supplier (расширение вашего пример). Таким образом, мы сможем избежать волатильного доступа при чтении уже созданного одиночки.

Information

Rating
Does not participate
Registered
Activity