java - 使自定义对象可转换

标签 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 吗?

谢谢

最佳答案

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

int intTstVal = intStr.intValue();

String text = intStr.stringValue();

关于java - 使自定义对象可转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5091961/

相关文章:

java - 类文件常量池(javap)中的方法签名和描述符

java - java 7/8 中具有大小限制的 linkedtransfer 队列的任何替代方案?

java - 在 Micronaut 中按名称获取 bean

java - 从 Eclipse 或命令提示符运行 java

java - 为什么Java不允许我通过同一个类的方法访问私有(private)方法?

c# - MultiBinding - 指定的转换无效

c# - 如何在 C# 和 Java 套接字之间传递 xml 数据

c - 为什么在指针算术之前要强制转换为 (char *)? (container_of() 内部结构)

c++ - 提取 2 个类型转换为 (void*) 的指针

c++ - 哪个 C++ 转换类型是 C 转换等同于