零长度数组超过null有什么用?任何人都可以用例子来解释

pav*_*avi 3 java

我被告知在程序中使用zerolength数组而不是空值.但是我找不到如何使用Zerolength数组.请帮助我.

Mar*_*ers 7

一般来说,这个想法是,如果查询返回"无结果",所有事情都相同,最好返回一个空列表(或数组)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)


Jon*_*uis 5

零长度数组只是一个没有内容的数组.例如,零长度的int类型数组将是:

int[] myArray = new int[0];
Run Code Online (Sandbox Code Playgroud)

选择之间null和空数组只是一个设计决定,具体取决于您希望如何使用代码. null需要额外检查(例如if (myArray != null) { ... }),但实际上并没有分配任何空间,因此如果空间至关重要,可能会更便宜.