隐式/显式类型转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了隐式/显式类型转换相关的知识,希望对你有一定的参考价值。

参考技术A

显式的类型转换我们都知道,比如to_a、to_s、to_i方法,显示转化一般用于这样的情形: 源类型和目标类型很大程度上不相关或毫无关联

那么,隐式类型转换是什么呢?
隐式类型转换适用于源类型和目标类型很详尽的情形

ruby核心库和标准库大量使用了隐式类型转换,标准类型转换方法如下:

注:隐式、显式方法目标类都已实现

有了这些方法,我们的有些参数检查就不必使用,可以使用隐式方法代替参数检查
eg

一些首字母大写的强制类型转换方法会调用 这些隐式转换方法,如:Array(),Integer(),String()等,但是这些方法处理逻辑并不一致,有的会有限调用隐式方法、无隐式方法时再调用显式方法,有的是直接调用显式方法;具体情况还要看ruby官网文档
eg:

以上是关于隐式/显式类型转换的主要内容,如果未能解决你的问题,请参考以下文章

145-显式转换和隐式转换

隐式转换和显式转换

C#中的类型转换-自定义隐式转换和显式转换

Oracle sql中的隐式和显式数据类型转换有啥区别

无法隐式转换类型“System.DateTime?”到“系统。日期时间”。存在显式转换

C语言数据类型转换规则(隐式转换+显式转换)