これの値は何ですか?どこかでC#(this == null)で読むことができます。しかし、Javaではどうですか?それで、次の断片はいつもtrue
を返しますか?"this"リファレンスはJavaでnull null
if(this!=null)
{
return false;
}
else
{
return true;
}
これの値は何ですか?どこかでC#(this == null)で読むことができます。しかし、Javaではどうですか?それで、次の断片はいつもtrue
を返しますか?"this"リファレンスはJavaでnull null
if(this!=null)
{
return false;
}
else
{
return true;
}
if(this!=null)
上記常にあなたのif
の最初の分岐が常に実行されますことを意味し、true
に評価され、関数は常にfalse
を返します。
this
は、null
になることはありません。これは、オブジェクトの自己インスタンスを参照するためです。オブジェクトがすでに作成されている場合にのみアクセスされます。
ですから、elseブロックに到達できません。
"this"はJavaではnullになることはありません
.....?
if(this!=null)
{
return false;
}
this
は、nullになることのない現在のオブジェクトを意味します。
「この」キーワードは、あなたが参照している「という」オブジェクトを指し、...
class Sample
{
int age;
Sample(int age)
{
this.age = age; // this.age -> the variable a in the that current instance
}
public void display()
{
System.out.println(age); //age here is actually this.age
}
}
public class XYZ
{
public static void main(String[] args)
{
Sample a,b;
a.display();
b.display();
}
}
ただ、論理的に考える - それはIf I don't exist...
を言ってようなものです。
コードの制御権を持つものが存在する必要があります。それ以外の場合は、コードが最初に実行されません。
そのような一般化はしないでください。いくつかの言語では、 'this'は場合によってはnullになることがあります。 – newacct
(私のような)人たちは、「this」*が「null」になるかもしれないと思う人には、このQ&Aをお読みください - http://stackoverflow.com/questions/3143498/why-check-this-null –
@ StephenC..Thanks –