Java函数重载

标签 java

谁能告诉我,为什么在内部工作中会打印“int”。

class Test {

void Method(int i) {
    System.out.println("int");
}
void Method(String n) {
    System.out.println("string");
}

public static void main(String [] a) {
    new Test().Method('c');
    }

}

最佳答案

字符 c 被转换为 int。它不会被转换为 String

更正式地说,来自 the JLS §5.5 - 从 charintlongfloatdouble 的扩展转换

永远不会被视为 String 的原因是 char 不能自动装箱到 String 中。

关于Java函数重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17549897/

相关文章:

java - 单元测试所有集合不能为空的通用方法

java - 方法不覆盖抽象父类(super class)

java - Spring Integration Java DSL - 捕获在 Enum.valueof() 中使用的 header

java - 使用 spring 框架时,出现错误 - import org not found

java - 纯Java验证框架

java - XML 解析异常 org.xml.sax.SAXParseException cvc-elt.1

java - 每 2 秒刷新一次从 JSON 响应填充的 listView

java - Grizzly 项目是否处理缓冲区溢出或拒绝服务攻击?

java - 如何解决 joda-time 和 org.joda 之间的包冲突

java - 用Java读取CSV文件并存储数据