Size: a a a

2020 February 25

I

Igor in pro.jvm
источник

I

Igor in pro.jvm
Otherwise, if the member or constructor is declared private, then access is permitted if and only if it occurs within the body of the top level class (§7.6) that encloses the declaration of the member or constructor.
источник

I

Igor in pro.jvm
dima
Ребят, я был удивлен, но этот код скомпилится и выведет [2,3]. Никто не может подсказать, где в JLS почитать о том, почему я могу обратиться к приватным членам моего анонимного класса на базе Object?
.
источник

d

dima in pro.jvm
👍
источник

ДЧ

Денис Чиканов in pro.jvm
Опередил(
источник

DK

Dzmitry Kharevich in pro.jvm
Alessio Bratenkov
надо на собесах его задавать
и что мы таким образом выявиили, если кандидат не ответил?
источник

ДЧ

Денис Чиканов in pro.jvm
Dzmitry Kharevich
и что мы таким образом выявиили, если кандидат не ответил?
Что человек не сидит с открытой главой 6.6.1 JLS
источник

AA

Alex Art in pro.jvm
например, что он не читал в данные момент этот канал или забыл, как прочитал :)
источник

DK

Dzmitry Kharevich in pro.jvm
или у вас собесы проводят, что бы унизить человека?
источник

DK

Dzmitry Kharevich in pro.jvm
не знаешь, лох
источник

QH

Quantum Harmonizer in pro.jvm
dima
Stream.of(1)
     .map(i -> new Object() {
         private int left = i * 2;
         private int right = i * 3;

         @Override
         public String toString() {
             return "[" + left + "," + right + "]";
         }
     })
     .filter(o -> o.left < 10 && o.right > 0)
     .forEach(System.out::println);
Хуя. А что за тип у .map? Меня вот больше волнует кусок структурной типизации. Про доступ в приваты анонимки в принципе понятно.
источник

AG

Alexey Genus in pro.jvm
У map тип - этот анонимный класс, думаю
источник

QH

Quantum Harmonizer in pro.jvm
Alexey Genus
У map тип - этот анонимный класс, думаю
оно-то да, но он же non-denotable, и номинально там должен быть Object.
Ну, я так раньше думал
источник

AG

Alexey Genus in pro.jvm
Да, его нельзя написать, но он есть. Если выделить переменную с типом Object, то уже не скомпилируется, но если через var, то работать должно
источник

QH

Quantum Harmonizer in pro.jvm
Alexey Genus
Да, его нельзя написать, но он есть. Если выделить переменную с типом Object, то уже не скомпилируется, но если через var, то работать должно
Именно должно или просто так случайно получилось?
источник

AG

Alexey Genus in pro.jvm
Должно быть так. Такая же хрень же с дженериками вроде ? extends Class & Interface. Их нельзя присвоить в переменную явного типа, но они есть
источник

AG

Alexey Genus in pro.jvm
Но через var их можно использовать в качестве локалов
источник

АБ

Александр Бруй in pro.jvm
Ага, 10тка с варами в свое время привнесла новые юзкейсы с этим)
источник

VP

Vladimir Petrakovich in pro.jvm
Alexey Genus
Но через var их можно использовать в качестве локалов
А эта фича не так проста, как казалось)
источник

AG

Alexey Genus in pro.jvm
Это точно. Особенно мне понравилась вот эта статья https://habr.com/ru/post/469111/
источник