2 xuanwomingren01 Xuanwomingren01 于 2017.01.13 11:55 提问

这两段代码的区别是什么,第二个有错应该怎么改?

private CircularQueue> bufferLogs = new CircularQueue >();

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);//此处有错 类型错误 而且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);
    }
}

我写的第一种,老师说不行 要第二种 给了那样的代码 错误那里让我自己想办法改 我实在想不出啊 来个大神。

2个回答

Smile_IT_life
Smile_IT_life   2017.01.16 11:00
已采纳

public void Write(Log log){

if(BaseAdapter!=null && bufferLogs.getCount()>=Size)
{
List logs = new ArrayList();

bufferLogs.ForceEnqueue(logs);//此处有错 类型错误 而且logs在里面定义
for(int i=bufferLogs.getCount();i>=0;i--)
{
logs.addAll(bufferLogs.Dequeue());
}
BaseAdapter.Write(logs);
}
}
这是修改的,你试试

Smile_IT_life
Smile_IT_life   2017.01.13 13:21

public void Write(Log log){
bufferLogs.ForceEnqueue(logs);
if(BaseAdapter!=null && bufferLogs.getCount()>=Size)
{
List logs = new ArrayList(); 在这声明,实例化logs却在上面调用,显然错了bufferLogs.Force(logs)要在实例化之后
for(int i=bufferLogs.getCount();i>=0;i--)
{
logs.addAll(bufferLogs.Dequeue());
}
BaseAdapter.Write(logs);
}
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3。在以上两个操作中,要保持其它位不变。
给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3。在以上两个操作中,要保持其它位不变。 #define BIT3 (0x1 << 3) static int a; void set_bit3(void) { a |= BIT3; } void clear_bit3(void) { a &= ~BIT3; }
给一整型变量a,写两段代码,第一个设置a的bit3,第二个清除a的bit3.“a的bit3”
|操作,当操作数为1时,结果为1,当操作数为0时,结果不变. &操作,当操作数为1时,结果不变,当操作数为0时,结果为0 因此,设置a的bit 3为1的方法就是将a和00001000作|操作,这样其他位都不变,只有第3位变成1 清除a的bit3的方法就是将a和11110111作&操作,这样第3位变成0,其他位不变
比较这两段代码输出的差异
package m;public class Animal { {System.out.println("Animal");}public Animal(){System.out.println("Animal Con");} public void move(){ System.out.println("动物可以移动"); } public String setValue(String a){
求出类似3025的数,30和25,使之相加后求平方=3025
/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 作 者:王颖 * 完成日期:2014 年 2 月 16 日 * 版 本 号:v1.0 * 输入描述: 无 * 问题描述:3025这个数具有一种独特的性质: * 将它平分为两段,即30和25,使之相加后求平方,即(30+25)的平方, * 恰好等于3025本身。请求出具有这样
文本程序代码比较工具,找出两段代码不同之处
文本程序代码比较工具,找出两段代码不同之处
SQL Server 2005 Management Studio 安装程序在安装此软件包时遇到一个错误,这可能表示此软件包有错。错误码是29506
安装程序在安装此软件包时遇到一个错误,这可能表示此软件包有错。错误码是29506     在刚安装好的Win7上安装了Visual Studio 2005,然后下载Microsoft SQL Server Management Studio Express进行安装,但是安装不成功,老是提示:"安装程序在安装此软件包时遇到一个错误,这可能表示此软件包有错。错误码是29506"。 百思不得其解,最后
Thinking In Java 课后习题 c02
(1) 参照本章的第一个例子,创建一个“Hello,World”程序,在屏幕上简单地显示这句话。注意在自己的类里只需一个方法(“main”方法会在程序启动时执行)。记住要把它设为static形式,并置入自变量列表——即使根本不会用到这个列表。用javac编译这个程序,再用java运行它。public class HelloWorld{ public static void main(String
(百例编程)29.求具有abcd=(ab+cd)平方的性质数
题目:3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,即(30+25)2,恰好等于3025本身。请求出具有这样性质的全部四位数。具有这种性质的四位数没有分布规律,可以采用穷举法,对所有四位数进行判断,从而筛选出符合这种性质的四位数。 /*题目:3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方, 即(30+25)2,恰好等于3025
这段程序应该怎么改?
fopen("zaobj.txt","w");     for(int i=1;i++;i     {         y(n)=sin(2*3.1415926/m_zhq*i*10);         n=m_bgsh*m_zhq/100;         printf("%d\n",y(n));     }     close; 错误提示: I:\zaobj\zaob
下面这段应该怎么改?
下面这段应该怎么改?       var mymessage=confirm("是否打开?");// 新窗口打开时弹出确认框,是否打开     if (mymessage==true)         {     var url     var url=prompt("输入网址:","http://www.imooc.com");// 通过输入对话框,确定打开的网址,默认为 http