java的类在c中是什么_C和Java中的“通用”类型之间有什么区别?

他们之间有很大的区别。在C中,不必为泛型类型指定类或接口。这就是为什么你可以创建真正的通用函数和类,与更宽松的打字的警告。

template T sum(T a, T b) { return a + b; }

上面的方法添加了两个相同类型的对象,并且可以用于具有“”运算符可用的任何类型T.

在Java中,如果要对传递的对象调用方法,则必须指定类型,如:

T sum(T a, T b) { return a.add ( b ); }

在C中泛型函数/类只能在头文件中定义,因为编译器为不同类型(它被调用)生成不同的函数。所以编译慢。在Java中,编译没有重大的惩罚,但是Java使用了一种名为“擦除”的技术,其中通用类型在运行时被擦除,因此在运行时Java实际上是调用…

Something sum(Something a, Something b) { return a.add ( b ); }

因此,在Java中的泛型编程并不真正有用,它只是一个小的语法糖帮助新的foreach结构。

编辑:以上对有用性的意见是由一个年轻的自我写的。当然,Java的泛型有助于类型安全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值