首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么Scala编译器会失败,并显示"no ':_*‘annotation allowed here“,而Row却接受varargs?

Scala编译器会失败并显示"no ':_*' annotation allowed here"的原因是在使用可变参数(varargs)时,Scala编译器要求在参数列表中使用特定的语法来表示可变参数的展开。而在某些情况下,如果没有正确使用这个语法,编译器会报错。

具体来说,当我们使用可变参数时,需要在参数名后面加上冒号和星号(':_*')来表示参数的展开。这样编译器才能正确地将可变参数展开为一个参数序列。

而对于Row对象来说,它是Spark中的一个数据结构,用于表示一行数据。在Row对象中,可变参数的展开是由Spark框架自动处理的,因此我们不需要手动使用':_*'语法来表示可变参数的展开。

总结起来,Scala编译器会失败并显示"no ':*' annotation allowed here"是因为在使用可变参数时没有正确使用':*'语法来表示参数的展开。而Row对象之所以可以接受可变参数,是因为Spark框架会自动处理可变参数的展开。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券