2 xuanwomingren01 Xuanwomingren01 于 2017.01.13 11:25 提问

这两段代码的差别在哪? 第2个有错误要怎么修改?

public void Write(Log log){
List logs = new ArrayList();
logs.add(log);
bufferLogs.ForceEnqueue(logs);
if(BaseAdapter!=null && bufferLogs.getCount()>=Size)
{
for(int i=bufferLogs.getCount();i>=0;i--)
{
logs.addAll(bufferLogs.Dequeue());
}
BaseAdapter.Write(logs);
}
}


public void Write(Log log){

    bufferLogs.ForceEnqueue(logs);
    if(BaseAdapter!=null && bufferLogs.getCount()>=Size)
    {
     List<Log> logs = new ArrayList<Log>();         
             for(int i=bufferLogs.getCount();i>=0;i--)
        {
            logs.addAll(bufferLogs.Dequeue());
        }
        BaseAdapter.Write(logs);
    }
}

3个回答

as_csdn
as_csdn   2017.01.13 11:35
已采纳

你的第二个,错误很明显,就是你的logs是在if语句里面定义的,而你在bufferLogs这儿却用到了,所以有错

Xuanwomingren01
Xuanwomingren01   2017.01.13 11:33

private CircularQueue> bufferLogs = new CircularQueue >();
bufferLogs 的类型是> Write 方法里面参数类型为Log. 问下第二段代码的第一条出应该怎么改?

Xuanwomingren01
Xuanwomingren01   2017.01.13 11:38

第一种和第二中的差别是什么? 我用第一种 老师说不对 要用第二种 但有错误 类型的那里 让我自己去想 实在找不到啊

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!