首页 > 解决方案 > 如何将变量声明为常量数组的元素?

问题描述

对于措辞不佳的标题,我深表歉意,但我想不出更好的表达方式。这是我的代码(忽略类和主要方法以及其他样板文件):

int i = 2;
int j = {9,88,777,6666}[i];

我希望 j 为 777,但它拒绝编译。作为参考,这里是另一个我认为应该基本上等效的sniper,并且确实有效。

int i = 2;
int[] arr ={9,88,777,6666};
int j = arr[i];

有没有办法像我的第一个非工作示例一样在两行上做到这一点?

(我知道这几乎不会是一个好主意,但我正在做一些类似于 codegolf 的事情,似乎这应该以某种方式成为可能。)

标签: javaarrays

解决方案


由于它不是简单的声明和赋值,因此您必须使用以下new语法:

int j = new int[] {9,88,777,6666}[i];

推荐阅读