JS 数组和 Java 数组的区别

 2023-09-10 阅读 12 评论 0

摘要:JS 数组和 Java 数组的区别 前言 这里的区别呢主要是介绍在函数(方法)中传递一个数组参数时,在函数(方法)内部改变这个数组后,对外部数组有什么影响。 直接为数组重新赋值 TestIt.java class ChangeIt {static void doIt(int[] z)

JS 数组和 Java 数组的区别

前言

这里的区别呢主要是介绍在函数(方法)中传递一个数组参数时,在函数(方法)内部改变这个数组后,对外部数组有什么影响。

直接为数组重新赋值

TestIt.java
class ChangeIt {static void doIt(int[] z) {z = null; // 直接改变 z 是改变的这个方法中的 z, 而不会改变传过来外部数组}
}class TestIt {public static void main(String[] args) {int[] myArray = { 1, 2, 3, 4, 5 };ChangeIt.doIt(myArray);System.out.println(Arrays.toString(myArray));}
}
[ 1, 2, 3, 4, 5 ]
testit.js
function testIt(arr) {arr = null;
}var arr = [1, 2, 3, 4, 5];
testIt(arr);
console.log(arr)
[ 1, 2, 3, 4, 5 ]

直接为数组重新赋值的话无论是在 JS 中还是在 Java 中的输出结果都是一样的,都不会改变外部传递的原数组

为数组中某一项重新赋值

TestIt2.java
class LowHighSwap {static void doIt(int[] z) {// 改变 z 中的某一项时,会改变外部传递过来的数组int temp = z[z.length - 1];z[z.length - 1] = z[0];z[0] = temp;}
}class TestIt2 {public static void main(String[] args) {int[] myArray = { 1, 2, 3, 4, 5 };LowHighSwap.doIt(myArray);System.out.println(Arrays.toString(myArray));}
}
[ 5, 2, 3, 4, 1 ]
testIt2.js
function testIt2(arr) {var temp = arr[arr.length - 1];arr[arr.length - 1] = arr[0];arr[0] = temp;
}var arr = [1, 2, 3, 4, 5];
testIt(arr);
console.log(arr);
[ 1, 2, 3, 4, 5 ]

为数组中某一项重新赋值的话,在 Java 中改变 z 中的某一项时,会改变外部传递过来的数组;而在 JS 中改变数组中某一项,不会改变外部传递过来的数组

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/39405.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息