Описание тега constructor-reference
Начиная с Java 8, ссылка на конструктор - это особый тип ссылки на метод. Используйте этот тег для вопроса, относящегося к ссылке на конструктор, а не для общей ссылки на метод.
1
ответ
Автоматическое сопоставление конструктора в методе по умолчанию
У меня есть PersonFactory Интерфейс следующим образом: @FunctionalInterface public interface PersonFactory<P extends Person> { P create(String firstname, String lastname); // Return a person with no args default P create() { // Is there a way …
13 дек '15 в 17:21
4
ответа
Runnable:: новый против нового Runnable()
Почему не работает первый из следующих примеров? run(R::new); метод R.run не называется. run(new R()); метод R.run называется. Оба примера скомпилированы. public class ConstructorRefVsNew { public static void main(String[] args) { new ConstructorRef…
07 янв '19 в 10:15
1
ответ
Ссылка на конструктор для внутреннего класса завершается с VerifyError во время выполнения
Я создаю поставщика для конструктора внутреннего класса, используя лямбду ctx -> new SpectatorSwitcher(ctx), IntelliJ предложил мне изменить его на SpectatorSwitcher::new вместо. SpectatorSwitcher является нестатическим внутренним классом класса,…
30 мар '14 в 00:54
3
ответа
Может ли Java 8 реализовать интерфейс на лету для ссылки на метод?
Я изучаю новые возможности Java 8. Я играю на разных примерах и обнаружил странное поведение: public static void main(String[] args) { method(Test::new); } static class Test{ } private static void method(Supplier<Test> testSupplier){ Test test…
21 сен '15 в 20:25
1
ответ
Как передать параметр типа в ссылку на конструктор универсального класса?
Предположим, следующий код: class ConstructMe<T> {} data class Test<T> constructor(var supplier: () -> ConstructMe<T>) {} fun main(args: Array<String>) { works<Int>() breaks<Int>() } fun <T> works() { Tes…
04 июн '16 в 11:26
1
ответ
Ссылки на методы конструктора Java 8
Я читаю Java 8 book это идет с образцом, который я воспроизводлю.. @FunctionalInterface public interface Action{public void perform();} Исполнитель public final class ActionImpl implements Action { public ActionImpl() { System.out.println("construct…
21 окт '14 в 23:13
1
ответ
Есть ли ссылки на конструктор в Kotlin?
В Java у нас есть Class::new синтаксис для ссылок конструктора. Я знаю, что есть вызываемые ссылки на методы, но как насчет конструкторов? Типичным вариантом использования для меня будут фабрики.
20 окт '14 в 18:51
1
ответ
Как использовать [TypeArguments] со ссылкой на конструктор в Java 8?
Раздел 15.13 Спецификации языка Java для Java 8 описывает эту форму синтаксиса ссылки на метод для создания ссылки на конструктор: ClassType :: [TypeArguments] new Например: String s = "abc"; UnaryOperator<String> test0 = String::new; // Strin…
20 мар '15 в 16:33
1
ответ
Как создать объект универсального типа в классе
У меня есть следующий класс open abstract class NexusAdapter<TData: NexusIdProvider, TViewHolder: NexusViewHolder<TData>> (protected val ctx: Context, private val _layoutId: Int, protected val items: List<TData>): BaseAdapter() { o…
07 май '18 в 06:51
2
ответа
Неверная ссылка на конструктор при использовании локального класса?
Учитывая следующий код: package com.gmail.oksandum.test; import java.util.ArrayList; import java.util.List; public class Test { public static void main(String[] args) { } public void foo() { class LocalFoo { LocalFoo(String in) { //Some logic } } Li…
08 окт '14 в 13:40
2
ответа
Какова цель ссылок на конструкторы в Котлине
Я читаю книгу Kotlin в действии и спрашиваю себя, какова цель "создания экземпляра класса с использованием ссылки на конструктор" (стр. 112, если кому-то интересно и книга есть дома). Вот пример кода из книги: data class Person(val name: String, val…
02 фев '20 в 20:43
1
ответ
Как сослаться на параметризованный конструктор в Котлине?
Итак, у меня есть такое определение: sealed interface ParseResult<out R> { data class Success<R>(val value: R) : ParseResult<R> data class Failure(val original: String, val error: Throwable) : ParseResult<Nothing> } Я хочу об…
18 янв '22 в 19:52
1
ответ
Почему не выводит "собака ест"
такой код public class LambdaTest { public static void main(String[] args) { final Animal animal = Dog::new; animal.eat(); } } @FunctionalInterface interface Animal { void eat(); } class Dog implements Animal { public Dog() { System.out.println("dog…
16 фев '23 в 09:30