되지 않습니다 :스칼라 T는 내가 좋아하는 방법이 클래스
def loadConfiguration[T <: Product](implicit A: Configs[T]): T = {
및 클래스를
trait SparkBaseRunner[T <: Product] extends App {
ConfigurationUtils.loadConfiguration[T]
같은 SparkBaseRunner
클래스 내에서 첫 번째 방법을 호출 컴파일 오류 :
T is not a class
제네릭 관련 문제를 해결하려면 어떻게해야합니까?
'T'는 그냥 자리 표시 자 이름입니다. 구체적인 방법을 지정할 때 메서드를 호출 할 때 – puhlen
구체적인 이름을 지정해야합니다. 'case class Foo()', 즉'Foo'와 같은 클래스의? –
예, 'Product'를 확장하는 모든 클래스가 수행합니다. 'T <: Product '는 어떤 유형을 선택하든'Product를 확장해야 함을 의미합니다. case 클래스와 튜플은 모두 암시 적으로'Product'를 확장합니다. – puhlen