Java中数组的使用方法

2024-01-02

我是 Java 新手,我正在阅读如何在 java 中使用数组。它说在java中使用数组你必须遵循三个步骤,即声明数组,创建数组和初始化数组,我明白了但是当我没有遵循上面的所有步骤时,下面的代码如何工作

int[] array = {1234,234,43,15234,433}

在这里,我声明了我将使用的变量的类型并为其命名并直接使用它。与我们通常在 OOP 中使用的方法不同

int[] array = new int[10];

第一种方式还可以吗array一个东西?如果是的话怎么办?


但它仍然是一个对象吗,因为我没有像使用 new 关键字那样创建实例

除非显式初始化现有数组,否则无法阻止创建新对象。

int[] array = {1234,234,43,15234,433}; // creates a new array object every time

是简写

int[] array = new int[] {1234,234,43,15234,433};  // creates a new array object every time

防止使用新对象的唯一方法是

int[] array = null; // no new object

or

int[] array = reusedArray; // no new array
array[0] = 1234;
array[1] = 234;
array[2] = 43;
array[3] = 15234;
array[4] = 433;

当我们使用“new”关键字时,我们到底告诉编译器什么

在堆上创建一个新对象(除非逃逸分析可以消除对象创建)虽然 Oracle/OpenJDK 版本 6 到 11 可以将一些对象放在堆栈而不是堆上以减少堆使用,但这不适用于数组 AFAIK 。

[补充]数组是对象吗?

Java 中的变量只是原语或引用。如果它不是一个标量基元,那么它就是一个对象。例如Boolean, int[], String, Enum变量都是对对象的引用。 IE。String s不是一个对象。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中数组的使用方法 的相关文章

随机推荐

  • 最佳实践是使用 Thread.sleep() 还是在单击 selenium Web 驱动程序中的任何元素之前显式等待

    我是网络驱动程序的新手 我为网络应用程序编写了一个selenium脚本 其中包含backbone js和select2 我曾经经常遇到 NosuchElementException 和 Element is not clickable 异常
  • 绑定表源继承什么类

    我正在使用 Xamarin 和 mvvmcross 以及如何拥有最终绑定到可观察集合的表的视图 This video http www youtube com watch v Vd1p2Gz8jfY关于如何创建自定义单元格的信息非常丰富 但
  • 这个异常是什么意思?

    我在使用 MAVEN 构建 Grails 应用程序时收到此消息 引导程序完成后 我在日志中收到此异常 有人可以指导我到哪里寻找此异常的原因吗 它想表达什么 2012 09 26 13 00 45 532 Thread 7 ERROR Sta
  • HTML5 contenteditable div 仅接受纯文本

    我正在尝试创建一个HTML5contenteditable div 只接受纯文本 我在下面使用 html 和 jQuery HTML div div jQuery function contenteditable on paste func
  • 因素级别内的记录计数

    我正在尝试使用从 1 到 n 的连续数字填充表中的字段 或完全创建一个单独的向量 以更容易的为准 其中 n 是共享相同因子级别的记录总数 然后返回到 1对于下一个级别 等等 也就是说 对于这样的表 data lt matrix c rep
  • osmdroid、地图 API v2 和片段

    好的 您可能认为这相对简单 但事实并非如此 我在我的网站上使用开放街道地图 因为数据可以免费使用 编辑和更新 我的项目遵循这个口头禅 除了谷歌 API 使用限制 保存数据限制之外 谷歌地图根本不适合我 至少在网络上是这样 鉴于此 我想我应该
  • 解析云代码新 SDK 包含子类不起作用

    我使用的是旧的解析 SDK 版本 1 5 0 我的函数返回了所有包含的内容 现在我尝试使用最新的 SDK 该函数仅返回主对象 在门和位置上我仅获得 指针 这是代码 Parse Cloud define get gates for user
  • Aurelia,如何进行可选绑定

    Does Aurelia支持可选绑定吗 我在任何地方都找不到这个信息 我遇到的问题是我有一个title可能会也可能不会填充在对象数组中的属性 我用一个repeat for and title bind但如果此属性不是对象数组的一部分 我根本
  • 查找哪个 spring 上下文文件加载了 bean

    它是一个很大的应用程序 并且有多个由 spring 容器加载的 bean xml 文件 有一个 bean 具有相同的 id 以某种方式被覆盖 有没有办法告诉 spring 记录哪个 bean 是从哪个 xml 文件创建的 您可以创建一个Re
  • 制作键盘记录器

    我想在我自己的电脑上制作一个小型键盘记录器 以了解击键如何与 C 配合使用 我在网上找到了一些代码 只是对其进行了一些编辑 尽管我不确定如何做我想做的事情 include stdafx h include
  • 如何在iOS自动布局中为按钮添加等间距和等宽度

    我对 Xcode 中的自动布局约束不熟悉 我有一个像这样的底视图UITabBar with 6 UIButtons 在没有限制的情况下 我将这些按钮与每个按钮的 5 个空格填充对齐 并且每个按钮的宽度为 50 现在 我试图通过使用自动布局来
  • 根据“.”将GL_CODE列拆分为不同的列,而不使用SQL中的函数[重复]

    这个问题在这里已经有答案了 我需要一个查询来根据 将 GL CODE 分成不同的列 作为分隔符 我已附上我已完成的设置的屏幕截图 但在提取第七段后出现错误 请注意 每个元素中的每行的字符串长度并不相同 我使用过的代码 select YEAR
  • 是否有任何工具可以将 SVG 数据转换为 Canvas 友好的输入? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 android 中限制仅沿 y 轴拖放?

    我试图将拖放运动限制为仅在 Y 轴上 以便用户只能查看视图并将其向上或向下拖动 而不能向左或向右拖动 我现在有两个视图 textView 和 dropZone 的 id 其中一个 textView 设置了触摸侦听器 另一个 dropZone
  • 自上而下的递归方案

    我们能否定义一个递归方案 在不失去任何通用性的情况下 自上而下构造值 而不是自下而上 这将非常有帮助 因为我已经看到很多次首先应用使用递归方案内部定义的函数reverse其输入 清楚地表明需要foldl 就像 从前到后 执行 尽管人们普遍认
  • 经典 ASP - 获取完整的 url 名称

    我想知道是否有人可以帮助我 我有以下 URL 这是动态的 www website com images gal boxes pic004 asp 我如何使用经典 ASP 提取 boxes pic004 部分 Thanks
  • 返回应用程序时取消选择表视图行

    我有一个表格视图 其中一个表格视图单元格打开另一个应用程序 当我返回我的应用程序时 表格视图单元格仍然突出显示 返回应用程序时取消选择表格视图单元格的最佳方法是什么 编辑 问题是 viewWillAppear or viewDidAppea
  • 如何为 UITextField 实现类似 NSLineBreakByTruncatingHead 的功能?

    我需要实现类似的目标NSLineBreakByTruncatingHead for UITextField如此处所示 我们假设原文是 这是无法在 UITextField 内显示的长文本 我需要它像 无法显示在 UITextField 内 但
  • 在 Objective C (Cocoa) 线程中运行 C 代码(适用于 iOS)

    首先 我是一名非常新的 Objective C Cocoa iOS 开发人员 但我以前编写过 C C 应用程序 因此 我设法在我的 iPhone 应用程序中运行 Rabbitmq c http hg rabbitmq com rabbitm
  • Java中数组的使用方法

    我是 Java 新手 我正在阅读如何在 java 中使用数组 它说在java中使用数组你必须遵循三个步骤 即声明数组 创建数组和初始化数组 我明白了但是当我没有遵循上面的所有步骤时 下面的代码如何工作 int array 1234 234