Я вызываю метод, который возвращает массив:Извлечение элемента массива в Scala
val localTrustManagerFactory =
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm)
val localTrustManager =
((localTrustManagerFactory.getTrustManagers).apply(0)).asInstanceOf[X509TrustManager]
Если я оставить из .apply
вызова, я получаю ошибку компиляции:
val localTrustManager =
((localTrustManagerFactory.getTrustManagers)(0)).asInstanceOf[X509TrustManager]
error: too many arguments for method getTrustManagers:()Array[javax.net.ssl.TrustManager]
Is есть ли лучший способ получить элемент массива? Я, однако, что компилятор будет предлагать вызов метода apply
неявно.
UPDATE: Классы, используемые в этом коде из стандартной библиотеки Java:
import javax.net.ssl.TrustManagerFactory
import javax.net.ssl.X509TrustManager
Я не знаю, если компилятор Scala (2.9.2-1) интерпретирует getTrustManagers
как имеющий аргумент список или нет.
Я не могу воспроизвести это. Как определено 'getTrustManagers' и какой версии, кроме лестницу вы используете? Это действительно похоже на ошибку компилятора. – drexin