В Typcript это понятие параметра Rest Parameter, это параметр, который получает несколько значений аналогичного типа. Если мы нацеливаем на машинописный текст, тогда нам нужно написать код ECMAScript 6 standard, тогда машинописный транспилятор преобразует его в эквивалентную java код сценария (который является стандартом ECMAScript 5). Если мы используем машинопись, мы должны использовать три точки (...) preferx с именем переменной restparameter, например, function sum (... numbers: number []), затем будет работать.
Примечание: параметр останова должен быть последним параметром в списке параметров. Например, сумма функции (имя: строка, возраст: число, ... числа: номер []).
В принципе, вы можете избежать исключения, используя блок try catch
private fun testing() {
val request = Request.Builder()
try {
val httpUrl = HttpUrl.parse("http://pic1.nipic.com|/2008-12-30/200812308231244_2.jpg")?.uri()
httpUrl?.let {
request.url(it.toURL())
}
}catch (e: Exception) {
Log.d("Testing", e.toString())
return
}
val client = OkHttpClient.Builder().build()
client.newCall(request.build()).enqueue(object: Callback {
override fun onFailure(call: Call, e: IOException) {
Log.d("Testing", e.toString())
}
override fun onResponse(call: Call, response: Response) {
Log.d("Testing", response.body().toString())
}
})
}
}
. Для получения дополнительной информации перейдите по ссылке ниже https://github.com/square/okhttp/issues/543
Ну, это потому, что вы передали специальный символ в URL, который делает его поврежденным. Чтобы избежать сбоя, вы можете просто удалить специальные символы из URL перед выполнением кода:
url = url.replaceAll("[|?*<\":>+\\[\\]/']", "");