在Java中我们可以做到
byte b = 5;
Run Code Online (Sandbox Code Playgroud)
但为什么我们不能将相同的参数传递给接受的函数 byte
myObject.testByte(5);
public void testByte (byte b)
{
System.out.println("Its byte");
}
Run Code Online (Sandbox Code Playgroud)
它给出了以下错误
The method testByte(byte) in the type Apple is not applicable for the arguments (int)
Run Code Online (Sandbox Code Playgroud)
PS:可能是一个愚蠢的问题,我想我需要再次修改我的基础知识.
谢谢.
硬编码的初始化值在Java中有些特殊 - 它们被假定为对您正在初始化的变量类型的强制.从本质上讲,第一部分代码实际上看起来像这样:
byte b = (byte) 5;
Run Code Online (Sandbox Code Playgroud)
如果你这样做......
myObject.testByte((byte) 5);
Run Code Online (Sandbox Code Playgroud)
...你不会得到那个错误,但如果你不这样做,那么5默认情况下创建它int,而不是自动强制.
| 归档时间: |
|
| 查看次数: |
10210 次 |
| 最近记录: |