gpt4 book ai didi

java - classOf [TextOutputFormat]需要Scala中的参数,但在Java中无需任何参数即可正常工作(TextOutputFormat.class)

转载 作者:行者123 更新时间:2023-12-02 22:00:03 25 4
gpt4 key购买 nike

用Java编写简单的Map Reduce程序时,下面的行可以正常工作。

job.setOutputFormatClass(TextOutputFormat.class)    

但是Scala中的同一件事是期望参数。
job.setOutputFormatClass(classOf[TextOutputFormat[<param>, <param>]]) 

为什么表现不同?
我有什么想念的吗?

最佳答案

在Java中,TextOutputFormat.class是特殊语法。在Scala中,就语法而言,classOf[...]只是一个通用方法调用(当然,编译器会对其进行特殊处理)。因此,type参数必须是类型,而TextOutputFormat本身不是类型(在Java中,它称为原始类型,但这不是您通常应使用的东西; Scala不支持原始类型)。编写classOf[TextOutputFormat[_, _]]

关于java - classOf [TextOutputFormat]需要Scala中的参数,但在Java中无需任何参数即可正常工作(TextOutputFormat.class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46624102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com