匿名对象有什么优点?
What are the advantages of an anonymous object?
我有一个名为 Sample
的 class,它在我的代码中使用,如下所示:
class Sample{
.
.
Object someMethod(){
return someObject;
}
.
.
}
我这样称呼它:
Object ob = new Sample().someMethod();
我想知道如果我创建匿名 ``Objectof any class (
new Sample()) and call any
requiremethod if I don't have any further use of this
Object` 是否有任何优势。
我假设您是在询问您发布的代码,与以下内容形成对比:
Sample s = new Sample();
s.someMethod();
(您明确地将 new Sample()
分配给局部变量)。
无论哪种方式,都没有显着的性能或内存优势。如果您将引用存储在局部变量中然后调用该方法,我认为存储该引用可能会有(非常)小的性能损失。但是,我怀疑许多编译器会注意到一旦调用该方法该变量就死了,并且会优化赋值。 JIT 编译器可能会完成这项工作。但我们最多谈论几个 cpu 周期。
我有一个名为 Sample
的 class,它在我的代码中使用,如下所示:
class Sample{
.
.
Object someMethod(){
return someObject;
}
.
.
}
我这样称呼它:
Object ob = new Sample().someMethod();
我想知道如果我创建匿名 ``Objectof any class (
new Sample()) and call any
requiremethod if I don't have any further use of this
Object` 是否有任何优势。
我假设您是在询问您发布的代码,与以下内容形成对比:
Sample s = new Sample();
s.someMethod();
(您明确地将 new Sample()
分配给局部变量)。
无论哪种方式,都没有显着的性能或内存优势。如果您将引用存储在局部变量中然后调用该方法,我认为存储该引用可能会有(非常)小的性能损失。但是,我怀疑许多编译器会注意到一旦调用该方法该变量就死了,并且会优化赋值。 JIT 编译器可能会完成这项工作。但我们最多谈论几个 cpu 周期。