我被告知在程序中使用zerolength数组而不是空值.但是我找不到如何使用Zerolength数组.请帮助我.
一般来说,这个想法是,如果查询返回"无结果",所有事情都相同,最好返回一个空列表(或数组)null.
原因是它使客户端代码更清洁.您仍然可以使用空数组执行此类操作:
Account[] accounts = getAccounts();
for ( Account account : accounts ) {
account.recomputeForInterest();
}
Run Code Online (Sandbox Code Playgroud)
如果您尝试相同的操作,null则会出现运行时异常.您可以使用以下几种方法创建一个空数组:
Account[] accounts = {};
accounts = new Account[0];
accounts = new Account[]{};
Run Code Online (Sandbox Code Playgroud)
零长度数组只是一个没有内容的数组.例如,零长度的int类型数组将是:
int[] myArray = new int[0];
Run Code Online (Sandbox Code Playgroud)
选择之间null和空数组只是一个设计决定,具体取决于您希望如何使用代码. null需要额外检查(例如if (myArray != null) { ... }),但实际上并没有分配任何空间,因此如果空间至关重要,可能会更便宜.