java - 我可以给Java中的索引值命名吗
问题描述
假设我有一个包含员工数据的数组:
[empID, empFName, empAge, empSalary, ...]
而不是每个索引都是 [0,1,...] 我可以给索引一个标识符吗?我正在尝试创建一个循环,在该循环中我将数组对象 [ employee ] 存储在数组中,其中employee 数组的每个索引都包含empID、empFName、...以上的值之一,
我想要得到的是这样的结果:[Employee1[101, Dave, 35, 50000], Employee2[...]...]
这在Java中可能吗?
解决方案
当然。拥抱 java 是什么,它是一个名义上的类型化系统。强调名义:事物应该有名字。因此:
@Value
public class Employee {
int id;
String name;
int age;
long salary;
}
List<Employee> employees = new ArrayList<Employee>();
employees.add(new Employee(101, "Dave", 35, 50000));
一些注意事项:
数组是你通常不应该使用的低级结构,除非你真的知道你需要它们,或者它的组件类型是原始的(
int[]
更难避免)。使用列表。这些可以缩小和增长,并具有 equals 和 hashCode 等的功能实现。您需要将该类设置为具有构造函数等。如果您使用的是 java 14,则可以使用记录;或者,您可以使用 lombok 的 @Value,如本例所示。
推荐阅读
- java - 捕获第一个单词并分配一个变量
- css - 页面末尾错误(XML SVG)和 CSS 不起作用
- c++ - Unable to modify FD epoll: No such file or directory
- node.js - Heroku 命令在 mac 上引发此错误:!error getting commands pid 29989 SIGSEGV (signal 11)
- c# - 如何使用带 lambda 表达式的委托对数组中的奇数求和
- c - C:在当前用户不拥有的目录中创建文件,Windows
- java - java调用函数继承
- vb.net-2010 - 只有具有背景色“RED”的复选框才会启用 true
- ios - 检测 UISplitViewController 何时更改显示模式
- c++ - C++11 lambda capture `this` and capture local variables by value