powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Переменная как функция
8 сообщений из 33, страница 2 из 2
Переменная как функция
    #38435148
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczavp.mkMethodReference..Точно так же и в Java <8 реализуется через анонимный класс.
Неа, не точно также. Зависит от вендора JVM. Лямбды могут быть реализованы как при помощи иннер классов так и при помощи метод хэндлов (и ещё чего угодно).
...
Рейтинг: 0 / 0
Переменная как функция
    #38435153
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avp.mkНеа, не точно также. Зависит от вендора JVM. Лямбды могут быть реализованы как при помощи иннер классов так и при помощи метод хэндлов (и ещё чего угодно).
Пруфлинк?
...
Рейтинг: 0 / 0
Переменная как функция
    #38435157
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так то интересно только как оракл это реализует. много кто сидит на иных вендорах (окромя гос контор, где ibm)
...
Рейтинг: 0 / 0
Переменная как функция
    #38435158
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так то интересно только как оракл это реализует. много кто сидит на иных вендорах (окромя гос контор, где ibm)?
...
Рейтинг: 0 / 0
Переменная как функция
    #38435180
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Penkov Vladimirмного кто сидит на иных вендорахВы про C#.NET ?

P.S.
Сорри за оффтоп
...
Рейтинг: 0 / 0
Переменная как функция
    #38435298
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Penkov Vladimirтак то интересно только как оракл это реализует
В случае с Oracle JVM - это как раз не inner классы, а method handle'ы.
Пруф пока не могу найти.
...
Рейтинг: 0 / 0
Переменная как функция
    #38435353
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avp.mkВ случае с Oracle JVM - это как раз не inner классы, а method handle'ы.
Пруф пока не могу найти.
Что-то я не могу пока найти подверждения этому. Используются анонимные классы, а method handle может быть использован, когда лямбда представляет из себя "ссылку на метод". Но это не значит что все лямбды реализуются через method handle.
...
Рейтинг: 0 / 0
Переменная как функция
    #38576149
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Рефлекшен на лямбду говорит, что это не аномимный класс..

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
package test8;

import static java.lang.System.out;

public class Test8 {

    private static final Calc[] CALCS = {
        (a, b) -> a + b,
        new Calc() {
            @Override public double calculate(double a, double b) {
                return a - b;
            }
        },
        (a, b) -> a * b,
        (a, b) -> a / b,
        Math::pow
    };

    public static void main(String[] args) throws Exception {
        for (Calc calc : CALCS) {
            Class<? extends Calc> cls = calc.getClass();
            out.println("SimpleName      : " + cls.getSimpleName());
            out.println("isAnonymousClass: " + cls.isAnonymousClass());
            out.println("isSynthetic     : " + cls.isSynthetic());
            out.println(calc.calculate(3, 2));
            out.println();
        }
        out.println(CALCS[4].calculate(5, 2));
    }
}


Код: java
1.
2.
3.
4.
5.
package test8;

public interface Calc {
    double calculate(double a, double b);
}



output:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
SimpleName      : Test8$$Lambda$1/8094942
isAnonymousClass: false
isSynthetic     : true
5.0

SimpleName      : 
isAnonymousClass: true
isSynthetic     : false
1.0

SimpleName      : Test8$$Lambda$2/12251916
isAnonymousClass: false
isSynthetic     : true
6.0

SimpleName      : Test8$$Lambda$3/8460669
isAnonymousClass: false
isSynthetic     : true
1.5

SimpleName      : Test8$$Lambda$4/13921446
isAnonymousClass: false
isSynthetic     : true
9.0

25.0
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Переменная как функция
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]