使自定义对象可转换

时间:2011-02-23 14:08:15

标签: java casting

在java中我是否可以将自己的类设计为可转换(或可转换?)为基本类型?例如,如果我有:

Class IntString{
  private int intVal;
  private String strVal;

  public IntString(int intVal, String strVal){
    this.intVal = intVal;
    this.strVal = strVal;
  }
}

static void main(String[] args){
  IntString intStr = new IntString(1,"yes");
}

可能有类似的东西:

int intTstVal = intStr;

甚至

int intTstVal = (int)intStr;

我也可以以同样的方式使类使用String吗?

由于

2 个答案:

答案 0 :(得分:2)

不是隐式地,你可以实现与包装器使用的相同/类似的方法。

int intTstVal = intStr.intValue();

String text = intStr.stringValue();

答案 1 :(得分:-1)

没有。你似乎试图模仿像PHP,Javascript或Python这样松散类型的语言,但Java并不是这样的语言。对于基本类型,您尝试做的事情是不可能的。您可能能够摆弄通用方法和演员表等,但我认为这不是最好的解决方案。

顺便说一句,你到底想要在这里实现什么目标?