TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.6K subscribers
Post #2339 1.9K
В Java лямбда-выражение создаёт экземпляр функционального интерфейса. Во время выполнения этот экземпляр создаётся с помощью класса LambdaMetaFactory

Следующий код на Java создаёт объект Function<String, String>

Function<String, String> f = s -> s.toUpperCase();


Во время выполнения объект создаётся с помощью кода, аналогичного следующему:

@SuppressWarnings("unchecked")
void main() throws Throwable {
MethodHandles.Lookup lookup;
lookup = MethodHandles.lookup();

CallSite callSite;
callSite = LambdaMetafactory.metafactory(
lookup,
"apply",
MethodType.methodType(Function.class),
MethodType.methodType(Object.class, Object.class),
lookup.findStatic(
getClass(),
"lambda",
MethodType.methodType(String.class, String.class)
),
MethodType.methodType(String.class, String.class)
);

MethodHandle target;
target = callSite.getTarget();

Function<String, String> f;
f = (Function<String, String>) target.invokeExact();

String msg;
msg = f.apply("Hello, World!");

IO.println(msg);
}

private static String lambda(String s) {
return s.toUpperCase();
}


При выполнении этот код выведет в консоль HELLO, WORLD! ❤️

👉 Java Portal
  • ❤ 7
More from @java_iibrary
  1. Sep 24, 2026Java-разработчики, в чём разница между volatile и synchronized? Многие используют их. Но в…
  2. Sep 23, 2026Готовимся к System Design интервью уровня Middle и Senior Полезный конспект по проектирова…
  3. Sep 23, 2026Java-разработчики, знаете разницу между Shallow Copy и Deep Copy? Вы копируете объект, но…
  4. Sep 22, 2026Java-разработчики: Почему ArrayList увеличивает свою ёмкость примерно на 50%, когда заканч…
  5. Sep 22, 2026Прогрев от Java-бабули 🙂 👉 Java Portal
  6. Sep 21, 2026Шпаргалка по проектированию веб систем System Design 101 Подробное руководство по архитект…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →