当前位置: 首页 > 知识库问答 >
问题:

科特林。uniinitializedpropertyaccessexception:late init属性ans尚未初始化

越飞鸾
2023-03-14

“常用大小写”函数用于将包含空格或 -字符串转换为帕斯卡大小写。

以下是我的代码-

fun toPascalCase(str: String): String {
    lateinit var ans: String

    for(i in str) {
        if(i != ' ' && i != '-') {
            ans += i
        }
    }
    return ans
}

fun main() {

toPascalCase("Harsh kumar-singh")

} 

我在ans变量之前使用了lateinitkeyword。在for循环中,我已初始化ans变量,但编译器仍抛出以下错误-

Exception in thread "main" kotlin.UninitializedPropertyAccessException: lateinit property ans has not 
been initialized
at FileKt.toPascalCase (File.kt:10) 
at FileKt.main (File.kt:18) 
at FileKt.main (File.kt:-1) 

麻烦帮我下码谢谢

共有1个答案

马祺
2023-03-14

您应该使用一个简单的var将其初始化为空字符串,而不是< code>lateinit var。

kotlin prettyprint-override">fun toPascalCase(str: String): String {
    var ans = ""
    ...
 类似资料:
  • 有人以前有过类似的问题吗? 如何声明init()的默认变量值? 下面是我的代码示例, 然后在下面抛出异常: 起因:科特林。UninitializedPropertyAccessException:late init属性emailDir尚未初始化 任何解决方案都可以共享?

  • 这是我的主要功能 我在我的主类中调用它,并且一切正常,我可以得到响应。 当我想为它编写测试时,我遇到了错误“kotlin.UninitializedPropertyAccessException:lateinit属性客户端尚未初始化”,有人能帮我吗?"

  • Json服务器数据显示,在使用retrofit2和rxjava2的android中,当参数传递给inteface时,会出现错误。 接口

  • 我不知道这是怎么回事 主要活动 我遇到了这个问题 2022-03-18 09:18:27.393 13874-13874/com。实例githubuser2 E/AndroidRuntime:致命异常:主进程:com。实例githubuser2,PID:13874 java。lang.RuntimeException:无法启动活动组件信息{com.example.githubuser2/com.e

  • 我有一个类,我注入到ViewModel ViewModel工厂,当在活动中的onCreate方法中初始化视图模型时,它说传递的值没有初始化。 下面是我的代码 我对Kotlin很陌生,所以尝试过调试,但在这个问题上卡住了。 这是Mainactive代码: 我的ViewModelFactory: 我的班级回购: 这是我收到的错误:

  • 我正在尝试使用Spring-boot+Vaadin创建一个web项目,并且希望使用spring-data-jpa和hibernate从PostgreSQL数据库中获取数据。 在我的Vaadin看来,我尝试自动连接我的服务类,但我总是得到null,而且eror堆栈跟踪没有告诉我原因。 数据库得我得配置: 视图和UI: pom.xml: 我的服务: 更新的解决方案: