java - Java 中的自动类型转换?

标签 java type-conversion overloading

有没有办法在 Java 中进行自动隐式类型转换?例如,假设我有两种类型,“FooSet”和“BarSet”,它们都是 Set 的表示。类型之间的转换很容易,因此我编写了两个实用方法:

/** Given a BarSet, returns a FooSet */
public FooSet barTOfoo(BarSet input) { /* ... */ }

/** Given a FooSet, returns a BarSet */
public BarSet fooTObar(FooSet input) { /* ... */ }

现在假设我想调用这样的方法:

public void doSomething(FooSet data) {
    /* .. */
}

但我只有一个 BarSet myBarSet...这意味着额外的输入,例如:

doSomething(barTOfoo(myBarSet));

有没有办法告诉编译器某些类型可以自动转换为其他类型?我知道这在 C++ 中可以通过重载实现,但我在 Java 中找不到方法。我只想能够输入:

doSomething(myBarSet);

并且编译器知道自动调用barTOfoo()

最佳答案

答案很简短:在 C++ 中可以重载,但在 Java 中没有办法做到这一点。

关于java - Java 中的自动类型转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406155/

相关文章:

java - 尝试显示/取消隐藏 LinearLayout 时无法调用 setVisibility 方法

java - 为什么新类的 equals() 方法的参数应该是 Object 类型?

c++ - 函数模板重载 : link error

sql - 如何在 SQL Server 查询中将整数转换为十进制?

ruby-on-rails - Rails select - 不需要的自动类型转换

c++ - 重载 make_heap?

java - 主机上有多个 tomcat,如何重定向请求以便客户端只知道一个 tomcat

java - 在 Java 中定义泛型方法的最佳方式是什么?

java - 当标记为 PM 时无法解析个位数小时 - Java 8

c# - 从字符串转换日期时间的语法错误