【问题标题】:How can I check if a Java Object is a String?如何检查 Java 对象是否为字符串?
【发布时间】:2012-07-20 16:16:30
【问题描述】:

如何检查对象是否为字符串类型?

【问题讨论】:

  • obj instanceof String?
  • 更好的问题是:为什么要设计需要检查的代码?这通常是一个不好的迹象。应该是多态性。

标签: java string object


【解决方案1】:
if(object instanceof String)
{
    // Do Stuff
}

【讨论】:

    【解决方案2】:

    通过在 java 中使用instanceof 运算符:

    if(object instanceof String){
        System.out.println("String object");
        // continue your code here
    }
    else{
         System.out.println("it is not a String");
    }
    

    【讨论】:

      【解决方案3】:

      像这样:

      Integer myInt = 3;
      if (myInt instanceof String)
          System.out.println("It's a String!");
      else
          System.out.println("Not a String :(");
      

      【讨论】:

      • 这是一个不好的例子,因为 String 已经被声明为 String,而不是 Object(或 String 的其他超类)。
      • 我想更多的是声明一个对象,因为声明一个整数或字符串会使这成为编译时的决定。仅对于 String 的超类(Integer 和 String 都不是),这是一个运行时决定。但无论如何,我删除了我的反对票。
      【解决方案4】:
         if( obj instanceof String ) {}
      

      是一种检查你得到的对象是否属于字符串的方法

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-20
        • 2016-02-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-04
        • 2011-12-08
        • 2022-01-03
        相关资源
        最近更新 更多