这些代码行之间是否有区别,最好使用什么? 谢谢
public static void main( String[] args ){
SwingUtilities.invokeLater( () -> component.method() ); }
vs
public static void main( String[] args ) {
SwingUtilities.invokeLater( new Runnable() {
public void run(){
component.method();
}} );
}
或
public static void main( String[] args ) {
SwingUtilities.invokeLater( new Runnable() {
public void run(){
component::method();
}} );
}
答案 0 :(得分:4)
最后一个没有通过编译。
使用任一lambda表达式
SwingUtilities.invokeLater(() -> component.method());
或方法参考
SwingUtilities.invokeLater(component::method);
比第二个短,这使得它们在Java 8和更高版本中更受欢迎。