Kotlin: создать файл функции расширения? Plus

Я разрабатываю некоторый lib в Kotlin , я не нахожу это решение,

введите описание изображения здесь

Как я могу решить эту проблему ? Говорит , что создайте функцию расширения File? .plus , в java ее работа отлично, но в Kotlin, как написать этот код?

Заранее спасибо.

У вас есть три варианта:

1) Избегайте того, что вы объединяете File со String , вызывая toString() что приводит к объединению двух строк.

 val sdCard = File(Environment.getExternalStorageDirectory().toString() + "/PicTaker/Images") 

2) Напишите эту функцию расширения и верните строку

 private operator fun File?.plus(s: String): String { return this.toString() + s } 

3) Использовать шаблон строки

 val sdCard = File("${Environment.getExternalStorageDirectory()}/PicTaker/Image‌​s") 

Вам не нужно изобретать больше кода, просто измените значение плюс (+) на запятую (,).

 val sdcard = File(Environment.getExternalStorageDirectory(), "/PicTaker/Images") 

Добавить toString() :

 val sdcard = File(Environment.getExternalStorageDirectory().toString() + "...") 

В Kotlin мы можем сделать перегрузку оператора для компилятора + и Kotlin, думая, что вы пытаетесь использовать перегруженный оператор plus для File? тип. И дает возможность создать функцию расширения для File?

Intereting Posts
Возможно ли скомпилировать Kotlin Native без проверок времени выполнения? Kotlin enum реализует интерфейс Java с объявлением String name () Как использовать Kotlin coroutines wait () в главной теме Записать вызов / транзакцию в TransactionalEventListener eclipse организует импорт, не работающий с файлами kotlin Как установить тестовый код, завернутый в `runOnUiThread`? Классы класса Kotlin, которые наследуют классы Java, также наследуются от Any? Какова цель привязки ссылки класса к ковариантному типу? Триггер с использованием Teamcity Kotlin DSL kotlin и @Valid Spring аннотация Невозможно разрешить моему приложению использовать обратную связь над другими правами на приложения Kotlin lazy var throwing ClassCastException: kotlin.UNINITIALIZED_VALUE Неразрешенная ссылка: Kotlin нуждается в 2 сборках после очистки, чтобы получить код при использовании kapt Список загруженных файлов равен нулю. используя Gson в kotlin для анализа json-массива