Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将字符串传递到Kotlin中的变量类型URL?_Kotlin - Fatal编程技术网

如何将字符串传递到Kotlin中的变量类型URL?

如何将字符串传递到Kotlin中的变量类型URL?,kotlin,Kotlin,我得到了这样的东西: interface Base { var url: URL? } class BaseImpl: Base { override var url: URL? = null } 现在在我的测试中,我想通过这个: url=“” 但我当然犯了这个错误: ^类型不匹配:推断的类型是字符串,但URL?预料之中 有人知道应该如何解决吗? 我知道URL对象接受字符串作为参数URL(字符串规范) 但我不知道如何在我的案例中实现这一点 提前感谢问题是URL中的接口,但您使用字符串值覆盖

我得到了这样的东西:

interface Base {
var url: URL?
}

class BaseImpl: Base {
override var url: URL? = null
}
现在在我的测试中,我想通过这个: url=“” 但我当然犯了这个错误:
^类型不匹配:推断的类型是字符串,但URL?预料之中

有人知道应该如何解决吗? 我知道URL对象接受字符串作为参数URL(字符串规范) 但我不知道如何在我的案例中实现这一点


提前感谢

问题是URL中的接口,但您使用字符串值覆盖

像这样覆盖值

 override var url: URL? = URL("http://www.countries-list.info/Download-List/download.txt")

问题是URL中的接口,但您使用字符串值重写

像这样覆盖值

 override var url: URL? = URL("http://www.countries-list.info/Download-List/download.txt")

谢谢你的回答,但在我的测试中,我有这个:url=“”,我知道这是有效的url=url(“),但我不想这样,我想在接口或接口的实现中以某种方式处理这个问题。因为我不希望用户必须写url=url(“”),url和字符串是不同的东西。
url()
只增加了5个字符,使类型非常清晰。如果确实需要避免这种情况,则必须在接口中更改属性类型,或在实现中使用重写的getter和setter添加重载属性(或提供等效方法)。(或找到一种方法提供URL值供调用方使用。)谢谢你,你能不能提供一个例子,说明我如何为这个问题提供等效的方法。我认为这将是一个合适的解决方案。谢谢你的回答,但在我的测试中,我有这个:url=”“,我知道这是有效的url=url(“),但我不想这样,我想在接口或接口的实现中以某种方式处理这个问题。因为我不希望用户必须编写url=url(“”),url和字符串是不同的东西
URL()
只额外增加了5个字符,使类型非常清晰。如果确实需要避免这种情况,则必须更改接口中的属性类型,或者在实现中使用重写的getter和setter添加重载属性(或者提供等效的方法)。(或者找到一种方法来提供URL值供调用者使用。)谢谢,请您提供一个示例,说明我如何为其提供等效的方法。我认为这将是一个适当的解决办法。