我刚开始使用java,过去主要是用C/C++编程。
最近我在lint code.com上练习,在解释我的IDE(Android )和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中我得到1作为返回值,在lintcode.com上我得到100.
因为a是一个基元类型,我原以为它应该只复制矩阵的值,但是它似乎在存储它的引用,哪种行为是正确的?:S
发布于 2015-08-08 04:49:15
哪种行为是正确的?
存储的值是正确的。
原语与参考文献
https://stackoverflow.com/questions/31889687
复制相似问题