[ https://issues.apache.org/jira/browse/NETBEANS-3802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gregory Williams updated NETBEANS-3802: --------------------------------------- Affects Version/s: 12.5 > Hint suggests invalid replacement with lambda for implementations of > interfaces with only default methods > --------------------------------------------------------------------------------------------------------- > > Key: NETBEANS-3802 > URL: https://issues.apache.org/jira/browse/NETBEANS-3802 > Project: NetBeans > Issue Type: Bug > Components: java - Hints > Affects Versions: 11.2, 12.5 > Environment: JDK 13 > Reporter: dennis lucero > Priority: Minor > Labels: hints > > {code:java} > interface Dog { > default void run() { > } > default void bark() { > } > } > public static void foo() { > final Dog dog = new Dog() { > @Override > public void bark() { > System.out.println("Woof"); > } > }; > } > {code} > For this code NetBeans has a hint stating > {quote}This anonymous inner class creation can be turned into a lambda > expression. > {quote} > in the line with {{new Dog()}}. Replacing the code using the hint results in > {code:java} > final Dog dog = () -> { > System.out.println("Woof"); > }; > {code} > which is invalid code > {quote}incompatible types: Dog is not a functional interface > no abstract method found in interface Dog > {quote} > (Real world example: > http://jdbi.org/apidocs/org/jdbi/v3/core/statement/SqlLogger.html This style > of interfaces would also be a nice alternative to Swing’s > {{*Listener}}/{{*Adapter}} pairs.) -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists