Java 中数组初始值设定项内带有尾随逗号的数组

2023-12-31

数组初始值设定项可用于在编译时初始化数组。如下所示带有尾随逗号的初始值设定项可以正常编译。

int a[][] = {{1,2,} ,{3,4,} , {5,6,},}; //Trailing commas cause no compiler error

for(int i=0;i<a.length;i++)
{
    for(int j=0;j<2;j++)
    {
        System.out.print(a[i][j]+"\t");
    }
    System.out.println();
}

输出 :

1        2        
3        4        
5        6     

对于一维数组也是合法的,正如上面的讨论所示。

int[] b = {1, 2, 3, 4, 5, 6,}; //A trailing comma causes no compiler error

for(int i=0;i<b.length;i++)
{
    System.out.print(b[i]+"\t");
}

输出 :

1        2        3        4        5        6

即使以下是合法的语法并且编译良好。

int c[][] = {{,} ,{,} , {,},}; 

编译器应该期望在逗号前后有一个常量值(或另一个初始值设定项),。这是如何编译的?编译器是否会简单地忽略此类逗号,或者在这种情况下会发生其他情况?


后面的逗号将被忽略。来自Java规范 http://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html#jls-10.6:

尾随逗号可能出现在数组初始值设定项中的最后一个表达式之后,并且会被忽略。

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

Java 中数组初始值设定项内带有尾随逗号的数组 的相关文章

随机推荐

  • C#中的无锁会话有哪些?

    我了解 C 中的会话以及如何定义它们 但今天我听到一个词Lock free session 我用谷歌搜索但没有得到任何与我的问题完全匹配的答案 谁能解释一下 C 中的无锁会话以及如何为它们编写代码 以下是一些内容来自msdn http ms
  • 如何使动态创建的div可编辑

    我要实现div创建的可编辑动态地 这也是可拖动的 div 这就是我尝试过的 1 divid attr contentEditable true 2 divid live click function this click contentEd
  • 获取 glFrustum 的坐标

    我刚刚开始阅读有关OpenGL主题 特别是关于Viewing http glprogramming com red chapter03 html以满足我目前的需求 我试图理解glFrustum根据我的理解 对我在屏幕上绘制的对象进行透视投影
  • 从 JVM 上的堆栈帧获取局部变量

    有没有办法在不使用调试器的情况下在 JVM 上获取当前范围内的局部变量的映射或其他数据结构 即获取当前栈帧的局部变量 我知道有堆栈跟踪对象 但是StackTraceElement无法访问任何状态 它只是告诉您在哪里调用了什么方法 但不告诉您
  • 无法设置 Content-Type 标头

    我在 HttpClient 上设置 Content Type 时遇到问题 我沿着这个问题 如何为 HttpClient 请求设置 Content Type 标头 https stackoverflow com questions 10679
  • 计算机编程艺术中approximateEqual和essentialEqual的区别

    我从其他地方得到这个代码片段 据站长介绍 代码摘自 由于我没有那本书 请问这两个函数有什么区别 bool approximatelyEqual float a float b float epsilon return fabs a b lt
  • C# 接口和 Haskell 类型类之间的区别

    我知道这里有一个类似的问题 但我想看一个例子 它清楚地表明 你不能做什么interface并且可以使用 Type Class 为了进行比较 我给你一个示例代码 class Eq a where a gt a gt Bool instance
  • 如何在Python中使用pdfminer从在线PDF中提取文本

    我想使用 pdfminer 使用下面的代码从在线 PDF 中提取文本 它没有显示错误 但输出什么也没有 from pdfminer pdfpage import PDFPage from urllib import request from
  • 如何在 Android 中将文件上传到 Cloudinary 时显示进度?

    我实现了将文件上传到Cloudinary的功能 Cloudinary cloudinary new Cloudinary Constants CLOUDINARY URL try FileInputStream is new FileInp
  • Python - Windows - 当“不相关”父进程死亡/崩溃时退出子进程

    经过一番研究后 对于如何让子进程了解父进程在 Windows 下已死亡 崩溃 退出这可以使子进程在无人值守的情况下运行 没有明确的答案 有一些建议如下 Jobs Python 当父进程死亡时如何杀死子进程 https stackoverfl
  • 如何更改 ListView 项目在焦点和单击时的颜色

    我的应用程序中有一个列表视图 这是 xml 布局
  • 日期上的 Asp.net LINQ groupby 和 orderBy 未检索预期输出

    我正在使用 linq2sql 开发 asp net mvc3 应用程序 我有一个 SiteLog 对象类型列表 其中还包含每个对象 名为 CLRExceptionType 的字符串和名为 EntryDate 的日期 该列表包含在字典中 pr
  • Python Kivy不会使用SDL2,坚持使用pygame

    我努力做Kivy https kivy org 1 11 0 使用SDL2 on 乌班图18 04桌面 它不断要求pygame但这已被弃用 我不想将其用于新项目 在全新的Ubuntu 18 04 虚拟机这就是我所做的 sudo apt in
  • 许多 URI 语法中“://”的起源 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 谁都知道 或者 来自大多数 URI 语法 例如 为什么不写成 http www example com a1kmm 的答案对于 URL 的特定应用很有
  • IIS AppPoolIdentity 和文件系统写入访问权限

    这是 IIS 7 5 和 ASP NET 的一个问题 我一直在研究但毫无进展 任何帮助将不胜感激 我的问题是 在 IIS 7 5 中使用 ASP NET IIS 和 或操作系统如何允许 Web 应用程序写入类似的文件夹C dump在完全信任
  • iphone NavigationController 清除视图堆栈

    我有一个使用导航控制器的 iPhone 应用程序 在该控制器中我推送了一些视图 在某些情况下 我想 清除 视图堆栈 只保留堆栈中导航控制器的 rootViewController 并推送我拥有的另一个 viewController 有人可以
  • 在 ionic 2 中使用 nav.push 和侧面菜单

    我尝试制作一个小应用程序ionic2了解它 但我在导航方面遇到问题 事实上我很清楚a之间的区别rootpage 换成白色nav setRoot 和一个 正常 页面 添加nav push 问题是对于我的应用程序 我需要能够打开侧面菜单 如果我
  • Sonarqube 针对特定产品风格和构建类型运行(gradle 插件)

    目前 我们在针对特定构建变体运行 sonarqube 时遇到问题 例如clienttestDebug 我们的结构是这样的 我们有 3 种不同的构建类型 Release Debug Profile 并拥有多种 超过30种 产品口味 例如 pr
  • 原始音频数据流传输过程中网络音频播放出现裂纹

    我有一台服务器通过网络套接字发送原始音频块 我们的想法是检索这些内容并以尽可能流畅的播放方式播放它们 这是最重要的一段代码 ws onmessage function event var view new Int16Array event
  • Java 中数组初始值设定项内带有尾随逗号的数组

    数组初始值设定项可用于在编译时初始化数组 如下所示带有尾随逗号的初始值设定项可以正常编译 int a 1 2 3 4 5 6 Trailing commas cause no compiler error for int i 0 i