我是java的新手,过去主要使用C / C ++进行编程。
我最近在lint code.com上练习, 在我的IDE(Android Studio)和lintcode.com的在线评判系统之间解释同一段代码时,我遇到了一些奇怪的事情。
所以这里是代码:
public class Solution{
public int kthSmallest(int[][] matrix, int k) {
int a = matrix[0][0];
matrix[0][0] = 100;
return a;
}
}
请注意,输入矩阵为{{1,5,7},{3,7,8},{4,8,9}},k为4, 在Android Studio中我得到1作为返回值, 在lintcode.com上我得到了100 ...
因为' a'是一个原始类型,我原以为它应该只复制matrix [0] [0]的值,但它似乎是存储它的引用, 哪种行为是正确的? :S