【问题标题】:C# "is" operator alternative in Java [duplicate]Java中的C#“is”运算符替代[重复]
【发布时间】:2013-08-09 12:58:34
【问题描述】:

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

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

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

【问题讨论】:

    标签: java casting


    【解决方案1】:

    Java 等价物:

    String foo = "hi :)"
    if (foo instanceof String)
    

    【讨论】:

    • C# 中的 is 可以将值分配给新实例。 instanceof 似乎只检查类型是否相等。
    【解决方案2】:

    您将使用 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)
    {
        ...
    }
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        试试这样的:-

        String foo = "hi :)"
        if (foo instanceof String)
        {
         ......
        }
        

        【讨论】:

          【解决方案5】:
          if (foo instanceof String)
          

          我相信这就是你要找的东西

          【讨论】:

            【解决方案6】:

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

            String foo = "hi :)"
            if (foo instanceof String) 
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-01-23
              • 2011-11-14
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-05-26
              相关资源
              最近更新 更多