Rust 特征与泛型区别点
1. Rust的特征与泛型
1.1 先上特征代码:
为什么先上代码? 因为这就要先从代码说起来了,把代码贴出来和Java的代码进行对比可能更加明确。
从代码看来,Rust中的trait和Java中的接口非常相似,都是用来定义一组行为。
运行代码:
运行结果:
1.2 泛型代码
上代码:
代码没有大的改变,将集合中使用trait改为泛型。
主代码不变,然后编译代码,出现如下错误
1.2 出现问题的原因?
Rust与Java不同, 在Java中,可能接口和泛型,都可以使用,代表一类类型,但是在Rust中,竟然不可以,这是为什么呢?
在Rust中, 由于安全性考虑,在使用泛型的时候,类型由第一个个对象确定了, 在编译的时候,发现后边的类型与第一个类型不同,则会出现这样的错误。
1.3 结论
在Rust中使用泛型和特征的时候要注意,可能特种更符合Java中的接口与泛型。而Rust泛型由于在编译的时候确定了类型,反而有些像数组,确定了唯一类型,只能放一种类型。
版权声明: 本文为 InfoQ 作者【编号94530】的原创文章。
原文链接:【http://xie.infoq.cn/article/69d7504b3714ded0041f2a758】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论