java 中数组初始化实例详解
发布时间 - 2026-01-11 01:27:00 点击率:次1.数组初始化

定义数组的方式:
int[] arr1; 或 int arr1[];
数组初始化
通过上边的定义,我们只是得到了一个数组的引用。这时已经为引用分配了存储空间,但是还没有给数组对象本身分配任何空间。想要给数组对象分配存储空间,必须使用初始化表达式。
a.在数组创建的地方进行初始化,如:
int[] arr1 = {1,2,3,4,5};
这种方式等价于使用new来进行存储空间分配。
b.给数组的引用赋值,如:
int[] arr1 = {1,2,3,4,5};
int[] arr2;
arr2 = arr1;
复制的只是一个引用。如下图:
所有的数组都有一个固定成员length,通过它可以知道数组元素的个数。
c.当不确定数组元素的个数时的数组创建
当数组元素个数不确定时,我们可以直接使用new在数组里创建元素。注意new可以应用于基本类型的数组,但是不能应用于单个的基本类型。
d.在定义数组的同时也可以进行初始化,当创建一个非基本类型的数组时,实际上创建的是引用数组。
可以用花括号列表的形式来初始化对象数组,有两种形式:
2.可变参数列表
下图标出了参数列表的使用方式、格式和对传入参数的要求。
2.1 列表参数类型可以不同的情况
可变参数类型为Object,因为所有的类都直接或间接的继承自Object类,可以向上转型为Object,因此参数列表中的类型可以不一致。
输出如下图:
2.2 列表参数类型必须相同的情况
当然可变参数参数列表也可以作为函数的一个参数传入,如下图。这里的参数列表中的参数类型为string,则所有的参数必须是string类型,与上面的程序不同。
2.3 可变参数列表中的参数可以是任何类型,包括基本类型
下面是可变参数列表为数组的例子:
从输出结果的最后两行可知,可变参数列表实际使用的是基本类型,不依赖自动包装机制。
2.4 可变参数列表和自动包装机制
但是,我们要知道,可变参数列表和自动包装机制可以“共处”,如下图:
2.5 可变参数列表与函数重载
可变参数列表使重载过程变得复杂:
在上面的所有带参数的函数调用,编译器都会使用自动包装机制来匹配重载的方法,然后调用最匹配的方法。但是不使用使用参数来f()时,编译器会二义性错误:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method f(Character[]) is ambiguous for the type OverloadingVarargs at thingjinjava.OverloadingVarargs.main(OverloadingVarargs.java:25)
那么,如何解决这个问题呢?
可以尝试着在某个方法中增加一个非可变参数来解决该问题。
可是,程序仍然无法通过编译,还是报上面同样的错误。
但是,当我们在给这两个函数都添加一个非可变参数,问题就可以解决了。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# java
# 中数组初始化
# 数组
# java数组的初始化及操作详解
# Java数组实现动态初始化的实例详解
# Java 数组的两种初始化方式
# java中的数组初始化赋初值方式
# 如下图
# 的是
# 应用于
# 不确定
# 列表中
# 都有
# 还没有
# 出了
# 我们可以
# 这两个
# 希望能
# 要知道
# 它可以
# 当我们
# 在上面
# 只是一个
# 有两种
# 谢谢大家
# 创建一个
# 解决这个问题
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Python并发异常传播_错误处理解析【教程】
如何用美橙互联一键搭建多站合一网站?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
长沙做网站要多少钱,长沙国安网络怎么样?
如何在阿里云香港服务器快速搭建网站?
免费视频制作网站,更新又快又好的免费电影网站?
Laravel如何创建自定义Facades?(详细步骤)
Laravel如何实现模型的全局作用域?(Global Scope示例)
,在苏州找工作,上哪个网站比较好?
JavaScript如何实现倒计时_时间函数如何精确控制
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
浅述节点的创建及常见功能的实现
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
西安专业网站制作公司有哪些,陕西省建行官方网站?
如何在阿里云高效完成企业建站全流程?
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
JS碰撞运动实现方法详解
如何用虚拟主机快速搭建网站?详细步骤解析
JavaScript实现Fly Bird小游戏
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
JS去除重复并统计数量的实现方法
Laravel如何配置任务调度?(Cron Job示例)
JavaScript如何实现继承_有哪些常用方法
打造顶配客厅影院,这份100寸电视推荐名单请查收
JavaScript数据类型有哪些_如何准确判断一个变量的类型
如何注册花生壳免费域名并搭建个人网站?
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
大型企业网站制作流程,做网站需要注册公司吗?
Laravel如何使用Blade模板引擎?(完整语法和示例)
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
详解Android——蓝牙技术 带你实现终端间数据传输
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
如何获取上海专业网站定制建站电话?
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
如何用AI帮你把自己的生活经历写成一个有趣的故事?
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
如何快速生成凡客建站的专业级图册?
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
Linux系统命令中screen命令详解
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
详解Android中Activity的四大启动模式实验简述
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
Linux安全能力提升路径_长期防护思维说明【指导】
上一篇:cpuz如何查看CPU缓存
上一篇:cpuz如何查看CPU缓存

