js和java中数组的区别?

前言:为什么对比js和java中数组的区别? 遇前端瓶颈以Java为突破口, 为啥选择Java? -> 资源丰富

JS里的数组

创建数组

  1. let str = ["java", "js"];
  2. let str = new Array(2);
  3. let str = new Array("java", "js");

结论:JS中数组的"长度"和"类型"都是动态的, 即:长度可变、类型多样( Boolean, Null, Undefined, Number, String, Symbol, Object )。数组本质上是一个对象键值映射, 所以数组也是对象, 因此JS数组元素在内藏中并不一定是相邻的。

Java里的数组

创建数组

  1. dataType[] arrayRefVar = {"java", "js"};
  2. dataType[] arrayRefVar = new dataType[arraySize];
  3. dataType arrayRefVar[] = new dataType[]{"java", "js"};

结论:Java中定义数组必须指定长度, 而且长度确定下来后无法改变, 如果数组越界会爆数组越界错误(JS中数组长度可变,不会出现越界问题),JS数组本质上市一个对象键值映射(因此JS数组中的内存并不一定相邻),但Java中的数组会在内存中划出一串连续固定的空间以存储。


  • Java中集合更强大,大部分情况不是直接用数组解决问题。
  • 就像在JS中的字符串操作(substr\substring\slice), 本能的只是用最后一个slice(其结合substr\substring)集两个方法有点于一身。
  • 强弱类型语言从数组一看便知,严格的、强限制的代表着在大规模开发中的一致性
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值