java中的一点小问题

folderCount=(file.list()==null)?0:file.list().length是什么意思啊?importjava.io.*;publicclas... folderCount = (file.list() == null) ? 0 :file.list().length是什么意思啊?

import java.io.*;

public class FileDemo5
{
public static void main(String[] args)
{
File root = new File("c:\\\\ex");
System.out.println(root.getPath());

File children [] = root.listFiles();
int length = children.length;
File file = null ;
int folderCount = 0 ;
for(int i = 0; i < length ; i++){
file = children[i];

//isDirectory方法的作用是 判断文件是否为一个目录
if(file.isDirectory()){
folderCount = (file.list() == null) ? 0 :file.list().length;//******************************这一行我看不明白。。。。
System.out.println(file.getName() + "\t" +folderCount + "个文件或文件夹");
continue;
}
System.out.println(file.getName()+ "\t大小为" + file.length());
}
//System.out.println("Hello World!");
}
}
展开
 我来答
匿名用户
2010-12-28
展开全部
folderCount = (file.list() == null) ? 0 :file.list().length;
先拆分一下:folderCount = 表达式;//这算一个赋值语句
接着分析,表达式内容(file.list() == null) ? 0 :file.list().length;
这是个三目运算符 意思是file.list() == null成立,则返回0,不然返回file.list().length,
就是说如果file.list() 值为空,返回0,不为空则返回其长度。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6eed2f8
2010-12-28 · TA获得超过5082个赞
知道大有可为答主
回答量:3423
采纳率:0%
帮助的人:3825万
展开全部
folderCount = (file.list() == null) ? 0 :file.list().length;//******************************这一行我看不明
三元运算符
A?B:C
如果表达式A为true,那么返回B,否则返回C
如果file.list() == null为ture,那么folderCount 为true,表达式A为true,就返回0,否则返回file.list().length
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lonlongg
2010-12-28 · TA获得超过170个赞
知道小有建树答主
回答量:312
采纳率:0%
帮助的人:149万
展开全部
(file.list() == null) ? 0 :file.list().length是什么意思啊?
就是file调用list方法假如等于空就把0赋值给folderCount 否者就把file.list().length 长度赋值
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式