在java中为变量分配对象

在java中为变量分配对象,java,object,breakout,Java,Object,Breakout,嗨,我正在做一个突破的游戏,我有一个让球从桨或砖块上反弹的问题 这是我的代码,让球从砖块和桨上弹起 private void checkForHit(){ GObject collider = getElementAt( ballX, ballspeed); if(collider == paddle){ ballspeed = -ballspeed; } } 我不知道为什么它不起作用,它可能是个小东西 更新 当我设置if(对撞机相等(桨)) 我在运行

嗨,我正在做一个突破的游戏,我有一个让球从桨或砖块上反弹的问题

这是我的代码,让球从砖块和桨上弹起

private void checkForHit(){
    GObject collider = getElementAt( ballX, ballspeed);

    if(collider == paddle){
        ballspeed = -ballspeed;
    }
}
我不知道为什么它不起作用,它可能是个小东西

更新

当我设置if(对撞机相等(桨))


我在运行游戏时遇到java.lang.NullPointerException错误。

这是因为您试图在对象上使用==符号。比较对象时的正常语法如CodeChimp所述:

<objectname>.equals( <otherobject> )

什么是划桨?还有一个
GObject?
好吧,那就是我们两个。我也不知道为什么它不起作用。错误消息或更全面的描述可能有助于我们更好地识别您的问题。球通过了吗?也许“getElementAt”不认识对撞机?还有,你的‘Y’在这个等式中的什么位置?小心比较。在Java中,这会进行比较,以查看引用是否都指向相同的内存空间。如果要检查相等性,则通常执行.equals(),传入对象。默认情况下,所有对象都有.equals(),但您可以覆盖它以提供自定义实现。
if ( collider.getSpecificValue() == paddle.getSpecificValue() ) { }