我们都知道多数编程语言都有类型自动转换的功能,那到底那些类型之间可以自动转换呢,一般主要遵循两点:
1、目标类型与源类型兼容,比如double和int之间
2、目标类型大于源类型,比如double占8字节,int占4字节,那么当把一个int类型赋给一个double类型的变量时,int可以自动转换成double类型
在java中类型比C++更严格,java不能从double类型自动转换成int,但C++可以,C++会自动截断后面的小数,但编译时一般会出现警告:
warning C4244: “=”: 从“double”转换到“int”,可能丢失数据
所以如果不是必须有这个需求,是不建议这么做的。
对于一段优秀的代码,不管是强制类型转换还是自动类型转换都是尽量应该避免的,否则只能说代码不够完美。