java - 哪种做法更好(多次从另一个方法调用方法或自己做同样的事情)

标签 java performance methods iterator

我的课上有这两个方法。第二种方法做同样的事情,但对于数万(比如五万)的多个值。那么哪个更好呢: 编辑

public static int isUsed(int num) {
    if((port < startPort || port > endPort)) {
        throw new IllegalArgumentException();
    }
    ServerSocket serverSocket;
    try {
        serverSocket = new ServerSocket(port);
        serverSocket.close();
        return false;
    } catch (IOException e) {
        return true;
    }
}

public static int areAllUsed(int arr[]) {
    //do the same thing several thousand times     >>> Is thisbetters  OR
    // call isUsed several thousand times          >>> this is better
}

更好的意思是内存或性能。

最佳答案

如果您需要在多个地方重用一段逻辑,定义一个函数是重用代码的最佳方式。将相同的逻辑复制粘贴到另一个地方不是一个好主意,因为它会降低可读性,并且在您必须更改逻辑时成为维护责任。

几乎没有或没有性能影响,因为 Java 编译器会在发现有益时自动内联静态方法。

关于java - 哪种做法更好(多次从另一个方法调用方法或自己做同样的事情),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17909301/

相关文章:

java - JMS QueueSender 线程安全吗?

java - UDF中如何传递Row?

java - 如何在Java中存储和检查字符串的同义词

java - 如何修复 javax.crypto.IllegalBlockSizeException?

mysql - 如何在 phpmyadmin 中多次运行查询?

c++ - 类对象成员的顺序对性能有影响吗?

C 中的 union 解引用和递减

java - 编译器错误 : reference to call ambiguous

java - 在 Java 中如何从计数器中减去一个值?

java - eclipse不匹配构造函数方法调用