gpt4 book ai didi

java - 带有短路的重载字符

转载 作者:行者123 更新时间:2023-12-02 12:37:01 24 4
gpt4 key购买 nike

char 大小为 16 位,短大小为 16 位。如果我们有一个接受 short 参数的构造函数,如果我们将 char 传递给它,为什么即使 char 和 Short 的大小相同,它也不会接受?

import java.util.*;

public class Coffee {

Coffee(short s2) {
System.out.println("short accepted");
}

public static void main(String[] args) {
Coffee c=new Coffee('c');
}
}

为什么我们不能将 char 传递给接受 short 的构造函数?

最佳答案

The JLS将从 char 到 Short 的转换定义为缩小转换。这是预期的,因为 char 是无符号 2 字节整数,而 Short 是有符号 2 字节整数。因此,一半的 char 值不能用短整型表示。

因此,您必须显式地将 char 转换为短整型,以告诉编译器您知道此类转换可能会丢失信息。

关于java - 带有短路的重载字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24593361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com