21

在 C# 中,当我想知道一个对象是否是特定类型的实例时,我可以使用“is”运算符:

String foo = "hi :)"
if (foo is String) ...

我怎么能在java中做到这一点?(我知道我可以使用 try 语句,还有其他方式吗?)

4

6 回答 6

26

Java等价物:

String foo = "hi :)"
if (foo instanceof String)
于 2013-08-09T12:59:39.890 回答
12

你会使用instanceof- 这相当于isC# 中的。请注意,没有as.

有关更多详细信息,请参阅JLS 部分 15.20.2instanceof,但它与以下内容基本相同is

// Note: no point in using instanceof if foo is declared to be String!
Object foo = "hello";
if (foo instanceof String)
{
    ...
}
于 2013-08-09T12:59:48.283 回答
6

instanceof是相当于 C#is运算符的 java。

于 2013-08-09T12:59:49.050 回答
6

尝试这样的事情: -

String foo = "hi :)"
if (foo instanceof String)
{
 ......
}
于 2013-08-09T13:00:05.717 回答
5
if (foo instanceof String)

我相信这就是你要找的

于 2013-08-09T13:00:08.943 回答
4

在java中你可以使用“instanceof”而不是“is”

String foo = "hi :)"
if (foo instanceof String) 
于 2013-08-09T13:00:56.383 回答