采访主题:这段代码会出什么问题?

2022-09-04 05:13:30

一个简单的计算器类,在Web应用程序中连接为Spring Bean:

public class Calculator { 
    int result; 

    public int addTwoNumbers(int first, int second) { 
        result = first + second; 
        return result; 
    } 
} 

这有什么可能出错的?


答案 1

多线程问题。默认情况下,Spring bean 是单例。


答案 2

如果这算数,整数溢出是另一个问题。

要解决此问题,您可以返回:long

long result;
public long addTwoNumbers(int first, int second)
{
    result = (long)first + second;
    return result;
}

小心只是说,因为两个将被添加,给出一个(可以溢出),然后才会转换为.result = first + second;intintlong

result = (long)first + second;等价于 (not ),这意味着我们将其中一个 s 转换为第一个,所以它是 ,这给出了一个 .result = ((long)first) + second;result = (long)(first + second);intlonglong + intlong


推荐