Java 接线员!=未为参数类型布尔值int-glfwInit()定义

Java 接线员!=未为参数类型布尔值int-glfwInit()定义,java,lwjgl,glfw,Java,Lwjgl,Glfw,我已经开始了一个游戏循环,我正在与GLFW窗口斗争,我正在检查glfwInit!=GL_TRUE,但标题中有错误。 这是密码,如果有人能给我解释一下,我将不胜感激 package com.crim.bts; import static org.lwjgl.glfw.GLFW.*; import static org.lwjgl.opengl.GL11.*; import static org.lwjgl.system.MemoryUtil.*; import java.nio.ByteBuff

我已经开始了一个游戏循环,我正在与GLFW窗口斗争,我正在检查glfwInit!=GL_TRUE,但标题中有错误。 这是密码,如果有人能给我解释一下,我将不胜感激

package com.crim.bts;

import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.system.MemoryUtil.*;
import java.nio.ByteBuffer;
import org.lwjgl.glfw.GLFWVidMode;

public class Main implements Runnable{
    Thread thread;
    public boolean running = true;

    public static void Main(String args[]){
        Main game = new Main();
        game.start();
    }
    public void start(){
        running = true;
        thread = new Thread(this, "Beneath The Surface");
        thread.start();
    }

    public void init(){
        if(glfwInit() != GL_TRUE){
            System.err.println("GLFW initialization failed!");
        }

        glfwWindowHint(GLFW_RESIZABLE, GL_TRUE);
    }

    public void update(){

    }

    public void render(){

    }

    @Override
    public void run(){
        init();
        while(running){
            update();
            render();
        }
    }
}是一个值为1的整数

返回一个布尔值

替换为:

    if(!glfwInit()){
        System.err.println("GLFW initialization failed!");
    }

不能将int与boolean进行比较。

glfwInit在哪里定义?同样地,格卢也是如此。无论如何,我找到了glfwInit返回int的文档。我猜GL_TRUE是一个布尔值,在这种情况下,您将int与Java中不允许的布尔值进行比较,如错误所示。!=在比较布尔值和int值时没有意义,因为两者永远不会相等。啊,这很有意义!通常不能直接比较不相关的类型,除非与equals进行比较,equals对于不同类型的实例(病理实现除外)返回false。