【问题标题】:(Java) The return type is int, but I can return a char.Why? [duplicate](Java) 返回类型是int,但我可以返回一个char。为什么? [复制]
【发布时间】:2020-06-27 09:41:11
【问题描述】:

返回类型是int,但我可以返回一个char。为什么?

 public class Test{
      public int returnInt(){
        return 'a';
    }
}

【问题讨论】:

  • int 被认为是 char 的直接超类型,因此您可以将 char 隐式转换为 int

标签: java return return-value return-type


【解决方案1】:

它将返回字符的 ascii 值。存在从 char 到 int 的隐式类型转换。 https://docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.1.2

【讨论】:

    【解决方案2】:

    Java 中的字符(和其他原始类型)类似于 int。 因此您可以将 char 用作 int 参见示例

    char ch = 'a';
    ch++;
    ch = ch + 'r';
    

    所以你的函数会为返回的字符返回相应的 ASCII。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-05
    • 2016-06-08
    • 2013-09-23
    • 2015-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多