【发布时间】:2013-08-09 12:58:34
【问题描述】:
在 C# 中,当我想知道一个对象是否是特定类型的实例时,我可以使用“is”运算符:
String foo = "hi :)"
if (foo is String) ...
我怎样才能在java中做到这一点? (我知道我可以使用 try 语句,还有其他方式吗?)
【问题讨论】:
在 C# 中,当我想知道一个对象是否是特定类型的实例时,我可以使用“is”运算符:
String foo = "hi :)"
if (foo is String) ...
我怎样才能在java中做到这一点? (我知道我可以使用 try 语句,还有其他方式吗?)
【问题讨论】:
Java 等价物:
String foo = "hi :)"
if (foo instanceof String)
【讨论】:
is 可以将值分配给新实例。 instanceof 似乎只检查类型是否相等。
您将使用 instanceof - 这相当于 C# 中的 is。请注意,没有 as 的等价物。
instanceof的更多细节见JLS section 15.20.2,但与is基本相同:
// Note: no point in using instanceof if foo is declared to be String!
Object foo = "hello";
if (foo instanceof String)
{
...
}
【讨论】:
instanceof 是相当于 C# is 运算符的 java。
【讨论】:
试试这样的:-
String foo = "hi :)"
if (foo instanceof String)
{
......
}
【讨论】:
if (foo instanceof String)
我相信这就是你要找的东西
【讨论】:
在java中你可以使用“instanceof”而不是“is”
String foo = "hi :)"
if (foo instanceof String)
【讨论】: