代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Per {
Long target;

public Long getTarget() {
return target;
}

@Override
public String toString() {
return "Per{" +
"target=" + target +
'}';
}

public void setTarget(Long target) {
this.target = target;
}

public static void main(String[] args) throws InterruptedException {
Per p = new Per();
p.setTarget(3 > 4 ? 100L : 0);
System.out.println(p.toString());
}
}

我们看代码可以看到,target属性时Long类型的,在使用setter进行赋值的时候,正常情况下,传入的值只能是Long类型的,但是如果你使用了三段表达式,那么可以将Integer类型的值也传进去,但是其他类型(float、double等)的好像的不行。按照上面那样写,不会报错,程序会自动将int类型的数据转成Long类型的数。
在这里插入图片描述

写在最后

欢迎大家关注鄙人的公众号【麦田里的守望者zhg】,让我们一起成长,谢谢。
微信公众号