如何解决错误-:不兼容的类型:可能从int到short的有损转换
我知道当我们尝试向下转换值时会发生此错误,但是在我的代码中,我无法判断出我在哪里向下转换值。
class TestClass {
public static void main(String args[] ) throws Exception {
TestDemo obj=new TestDemo();
TestDemo2 obj1= new TestDemo2();
obj.show(5);
obj1.show("helloworld");
}
}
class TestDemo{
public void show(short N){
System.out.println(N*2);
}
}
class TestDemo2{
public Void show(String S){
System.out.println(S);
}
}
解决方法
由于obj.show(5)而发生此错误。
两个修复程序,您可以执行以下任何操作:
class TestClass {
public static void main(String args[] ) throws Exception {
TestDemo obj=new TestDemo();
TestDemo2 obj1= new TestDemo2();
obj.show((short)5);
obj1.show("helloworld");
}
}
class TestDemo{
public void show(short i){
System.out.println(i*2);
}
}
class TestDemo2{
public void show(String S){
System.out.println(S);
}
}
第二版
class TestClass {
public static void main(String args[] ) throws Exception {
TestDemo obj=new TestDemo();
TestDemo2 obj1= new TestDemo2();
obj.show(5);
obj1.show("helloworld");
}
}
class TestDemo{
public void show(int i){
System.out.println(i*2);
}
}
class TestDemo2{
public void show(String S){
System.out.println(S);
}
}
,
尝试将short N
中的public void show(short N)
从test Demo
更改为int
。
尝试先转换int。
obj.show((short)5);
,
数字5默认情况下被视为整数,并传递给带有短参数的方法。
obj.show((short)5);
Java错误以及异常也非常详细,以供将来参考,为您提供发生问题的确切行号。这样可以帮助您确定问题所在的代码段。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。