当前位置: 首页 > 知识库问答 >
问题:

这些代码行之间有区别吗[重复]

窦哲彦
2023-03-14

这几行代码有区别吗,用什么最好?谢谢

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();
    }} );
}

共有1个答案

曹智
2023-03-14

最后一个没有通过编译。

使用lambda表达式

SwingUtilities.invokeLater(() -> component.method());

或方法参考

SwingUtilities.invokeLater(component::method);

比第二个短,这使得它们在Java 8和更高版本中更可取。

 类似资料:
  • 问题内容: 在Go的整个Google App Engine文档中,它们可互换使用库。这是一个例子: 我应该使用哪些库?主要区别是什么? 问题答案: cloud.google.com/go/datastore是Cloud Datastore rest API(可从任何地方使用)的客户端库。 google.golang.org/appengine/datastore是App Engine API的一部

  • Microsoft最近发布了Visual Studio代码,我对它的用法有点困惑,因为Visual Studio在功能上与它有很多相似之处。

  • 问题内容: 我可能现在应该知道这一点,但是以下两个语句之间的区别是什么? 嵌套联接: 比较传统的联接: 问题答案: 好吧,这是操作的顺序。 可以改写为: 因此,基本上,首先根据连接条件:t3将t2与t3左连接,然后在table2_ID = table1_ID上与t2对IN1进行t1内连接。 在第二个示例中,首先将INNER JOIN t1与t2组合在一起,然后在条件table2_ID = tabl

  • 这个问题似乎离题了,因为它缺乏足够的信息来诊断问题 更详细地描述你的问题,或者在问题本身中包含一个最小的例子。 其中Fragment和Intent是构建类,FragmentABC是用户定义的类。 它非常基本,但仍然无法找出合理的差异来证明实例化。想知道这两种说法的区别是什么,请在你提供的答案中描述一下。

  • 问题内容: 我的Google-fu使我失败了。 在Python中,以下两个相等测试是否等效? 这是否适用于您要比较实例(list说)的对象? 好的,这样可以回答我的问题: 因此,==测试重视在哪里is进行测试以查看它们是否是同一对象? 问题答案: 如果两个变量指向同一个对象(如果变量引用的对象相等),则将返回。 在您的情况下,第二个测试仅能工作,因为Python会缓存小的整数对象,这是实现细节。对