0
Java 클래스 "추상 자격 증명"이 주어지며 "EmailPassword"/ "OAuth"클래스가 파생됩니다. 적절한 구현의 EmailPasswordStorage 및 OAuthStorage와종속 형식에 대한 스칼라 및 형식 검사
및 인터페이스 CredentialsStorage는
내가 트리플와 배열의 일종 만들 필요가: 저장, 유효한 자격 증명, 잘못된 자격 증명)
그래서 나는이 시작 :
type T <: Credentials
type S <: CredentialsStorage[T]
private var testData: Array[(S, T, T)] = Array(
(emailStorage, validEmailPasswd, new EmailPasswordCredentials("1", "2")),
(oAuthStorage, validAuthToken, new OAuthCredentials("invalid auth token", OAuthService.FACEBOOK))
)
그러나이 컴파일되지 않습니다
error: type mismatch;
found : storage.EmailPasswordStorage[credentials.EmailPassword]
required: CredentialsStorageTest.this.S
(emailStorage, validEmailPasswd, new EmailPasswordCredentials("1", "2")),
이 문제를 어떻게 해결할 수 있습니까? 여기에 종속/실존 유형의 올바른 정의는 무엇입니까?
type T[A] = (CredentialsStorage[A],A,A)
val testData : Array[T[_ <: Credentials]] = ...