gpt4 book ai didi

java - 创建对象时是否应该创建变量只是为了调用单个方法?

转载 作者:行者123 更新时间:2023-12-01 18:44:45 25 4
gpt4 key购买 nike

想象一个场景,我们只需要为单个方法调用创建一个对象。以下哪项是更好的编码实践以及原因:

  1. 将对象放入变量中:

    Foo foo = new Foo();
    int val = foo.getVal();

    优点:在异常处理的情况下,我们可以隔离构造函数中的异常与 getVal() 中的异常。功能。
    缺点:额外的变量。

  2. 直接在结果上调用方法:

    int val = new Foo().getVal();

    优点:不需要有额外的变量。
    缺点:如果发生异常,则更难确定是构造函数还是方法抛出异常。

最佳答案

如果您确实不需要引用,请使用选项二。它可以让垃圾收集器更快地回收内存。

另一方面,如果您确实不需要引用,那么您的方法可能应该是static。我知道每当我在生产环境中看到类似 new Foo().getVal() 的内容时,我会立即转到 getVal() 定义并查找所有引用。一百中九十九,它应该是一个静态方法。

关于java - 创建对象时是否应该创建变量只是为了调用单个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18279952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com