1、三元操作符类型的转换规则:
若两个操作数不可转换,则不做转换,返回值为Object类型
若两个操作数是明确类型的表达式(比如变量),则按照正常的二进制数字来转换,int类型转换为long类型,long类型转换为float类型等。
若两个操作数中有一个是数字S,另外一个是表达式,且其类型标示为T,那么,若数字S在T的范围内,则转换为T类型;若S超出了T类型的范围,则
T转换为S类型。
若两个操作数不可转换,则不做转换,返回值为Object类型
若两个操作数是明确类型的表达式(比如变量),则按照正常的二进制数字来转换,int类型转换为long类型,long类型转换为float类型等。
若两个操作数中有一个是数字S,另外一个是表达式,且其类型标示为T,那么,若数字S在T的范围内,则转换为T类型;若S超出了T类型的范围,则
T转换为S类型。
若两个操作数都是直接量数字,则返回值类型为范围较大者
实例:
public class Client{
public static void main(String args[]){
int i = 80;
String s = String.valueOf(i < 100?90:100);
String s1 = String.valueOf(i < 100?90:100.0);
System.out.println(s.equals(s1));
}
}
输出的为: false s输出的为int类型,s1输出的为float类型
本文详细解析了Java中三元操作符的类型转换规则,包括不同情况下的转换逻辑及示例代码,展示了如何判断并转换操作数类型。
645

被折叠的 条评论
为什么被折叠?



