java - 有没有办法在 Java 中以类型安全的方式声明 List 的二维数组?
问题描述
这是我拥有的代码,但在我调整和实例化数组时会出现类型安全警告:
import java.util.ArrayList;
import java.util.List;
public class Test {
private static final int MAX_ROWS = 2;
private static final int MAX_COLS = 5;
private List<String> _stringSets[][];
public Test() {
_stringSets = new List[MAX_ROWS][MAX_COLS];
for(int row = 0; row < MAX_ROWS; row++) {
for(int col = 0; col < MAX_COLS; col++) {
_stringSets[row][col] = new ArrayList<String>();
}
}
}
}
我试过了
_stringSets = new List<String>[MAX_ROWS][MAX_COLS];
但这行不通...
解决方案
列表是一维的,可以这样声明:
List<String> myList = new ArrayList<>()
当您似乎正在寻找一个二维数组时,其声明如下:
String[][] myArray = new String[n1][n2]
所以你想要的可能是这些方面的东西:
public class Test {
private static final int MAX_ROWS = 2;
private static final int MAX_COLS = 5;
private String[][] stringSets;
public Test() {
stringSets = new String[MAX_ROWS][MAX_COLS];
for(int row = 0; row < MAX_ROWS; row++) {
for(int col = 0; col < MAX_COLS; col++) {
stringSets[row][col] = row+"-"+col;
}
}
}
}
推荐阅读
- python - 从格式不正确的 XML 中获取列名
- xslt - 在 PI XSLT 映射中将 xml 字段转换为键/值对
- chef-infra - 通过 Inspec 实现基础设施合规性
- hadoop - 如何使用大数据从两个电子表格中的数据中给出 if 语句的结果?
- javascript - 根据文件名激活引导导航栏项目?
- python - 查找另一行是否存在列元素的组合
- ruby-on-rails-5 - 覆盖 Rails 生成器以将 date_select 更改为 date_field
- javascript - 跟踪嵌入 html 元素的 URL 更改
- angular - ContactListComponent.html:1 ERROR 错误:未找到 ContactComponent 的组件工厂。你把它添加到@NgModule.entryComponents 了吗?
- javascript - 如何创建具有水平和垂直滚动条的固定列的基于 div 的表?