无法分配给数组I创建的java

时间:2016-02-27 09:21:56

标签: java

我是java的初学者,我试图使用我创建的数组 但它不会再认识它。 有谁知道我在这里失踪的东西是什么?

更具体地说,命令bookArray.length正在发出此错误。

Library(int maxBookCapacity){
    Book bookArray[]= new Book[libraryMaxBookCapacity];
}

boolean inLibrary(Book book){
    for(int i=0; i<bookArray.length; i++ ){
        if (book==bookArray[i]){
            return true;
        }
    }
    return false;
}

2 个答案:

答案 0 :(得分:1)

ChainShape chain = new ChainShape(); createChain().Vec2[] vertices = new Vec2[2]; vertices[0] = box2d.coordPixelsToWorld(0,150); vertices[1] = box2d.coordPixelsToWorld(width,150); chain.createChain(vertices, vertices.length); FixtureDef fd = new FixtureDef(); fd.shape = chain; fd.density = 1; fd.friction = 0.3; fd.restitution = 0.5; body.createFixture(fd); 是一个局部变量,spocannot不能在定义方法之外访问。实际上 local 意味着:名称bookArray仅在构造函数中可用。

如果你需要bookArray,你应该声明是封闭类中的一个字段:

inLibrary

顺便提一下,考虑一下您是否确实需要将书籍对象与public class Library { private final Book[] bookArray; public Library(int maxBookCapacity){ bookArray = new Book[libraryMaxBookCapacity]; } public boolean inLibrary(Book book){ for(int i = 0; i < bookArray.length; i++ ){ if (book == bookArray[i]){ return true; } } return false; } } 运算符进行比较。

答案 1 :(得分:0)

{{1}}