首页
学习
活动
专区
圈层
工具
发布

【错误记录】Kotlin 代码运行时报错 ( 在 init 初始化块中调用还未初始化的成员属性 )

文章目录 一、报错信息 二、问题分析 三、解决方案 该问题的本质就是 , 成员属性 在 init 初始化代码块中进行初始化 , 但是在初始化之前调用了该 成员属性 , 编译时没有报错信息 , 但是运行时会报异常...初始化 角度分析 上述代码的执行顺序 , Kotlin 类 对象在实例化 时会执行一系列的 初始化操作 , 这些操作按照如下顺序执行 : 主构造函数 中属性赋值 类中的属性赋值 init 初始化块 中的代码执行...次构造函数 中的代码执行 首先 , 上述代码中没有主构造 函数 , 因此该项忽略 ; 然后 , 执行属性的赋值 , 代码中定义了 name 属性 , 但是没有进行赋值 ; var name: String...再后 , 执行 init 初始化块 , 其中先执行 nameFirstLetter 函数 , 在该函数中调用了 fun nameFirstLetter() = name[0] 中的 name 属性 ,..., 成员属性 在 init 初始化代码块中进行初始化 , 但是在初始化之前调用了该 成员属性 , 编译时没有报错信息 , 但是运行时会报异常 ; 三、解决方案 ---- 调换 初始化代码块 中的代码顺序

2.2K10

React-Native For Android 环境搭建及踩坑

首先把你的设备通过USB数据线连接到电脑上,并开启USB调试。...在设备上运行你的React Native应用。和打开其它App一样操作。 你应该会看到一个“红屏”错误提示。这是正常的,下面的步骤会解决这个报错。...摇晃设备,或者运行adb shell input keyevent 82,可以打开开发者菜单。 点击进入Dev Settings。 点击Debug server host for device。...输入你电脑的IP地址和端口号(譬如10.0.1.1:8081)。在Mac上,你可以在系统设置/网络里找查询你的IP地址。在Windows上,打开命令提示符并输入ipconfig来查询你的IP地址。...在Linux上你可以在终端中输入ifconfig来查询你的IP地址。 回到开发者菜单然后选择Reload JS。 adb命令找不到 如果提示adb命令找不到,做个软连接就好了。

2.1K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    从0-1搭建DolphinScheduler开发环境

    1 文档编写目的 记录从0-1搭建DolphinScheduler开发环境的过程(mac) 便于更多有意愿贡献ds的老铁搭建开发环境参与贡献 2 所需前置条件 需要安装好-jdk maven mysql...set SASS_BINARY_PATH=$NodeSassFile && npm install node-sass 4 开发环境前后端测试 初始化数据库 在mysql中执行数据库创建命令 CREATE...启动前后端服务 在idea中启动 api master worker ?...8888/ 采用管理员账户admin dolphinscheduler123进行登陆,出现页面即整个项目的页面,则开发环境搭建完成 5 本地运行第一个shell任务 新建一个租户 ?...将管理员用户挂到新建的租户上 ? 建立一个HelloDolphinScheduler的shell任务 ? 上线运行 ? 运行成功 然后就可以愉快的在本地玩耍DolphinScheduler了!!!

    3.1K40

    Jenkins-简介与安装部署

    在与Oracle发生争执后,项目从Hudson项目复刻。 Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中(例如Apache Tomcat)。...2.1、Win 2.1.1、JDK JDK(Java Development Kit)是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的Java应用程序。...2.2、Mac 2.2.1、JDK JDK(Java Development Kit)是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的Java应用程序。...JDK是整个Java开发的核心,它包含了Java的运行环境,Java工具和Java基础的类库。 在Mac环境下,执行下载完成后的jdk-8u171-macosx-x64.dmg,默认安装即可。...2.2.2、Homebrew Homebrew是Mac上缺失的软件包管理器,通过它可以在终端输入命令安装各种软件包。

    2.3K10

    配置React Native环境

    brew的安装很简单,使用一条ruby命令即可,Mac系统上已经默认安装了ruby": ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew...:(输入密码的过程中终端不会有任何变化) ?...大概意思就是如果没有.nvm文件的话就要创建一个,终端中输入 mkdir ~/.nvm 就可以创建.nvm文件了 然后去~/.bash_profile或者在shell的配置文件中配置如下内容: export...nvm 默认是从http://nodejs.org/dist/下载的, 国外服务器, 必然很慢,     好在 NVM 以及支持从镜像服务器下载包, 于是我们可以方便地从七牛的 node dist 镜像下载...初始化项目: 首先安装Xcode6.3或更高版本. 完成后,终端执行 npm install -g react-native-cli react-native-cli 是完成剩余安装的命令行工具。

    1K100

    在 ubuntu 中愉快的安装 Jenkins

    这篇文章详细的记录了在 ubuntu 中安装 Jenkins 的一步又一步,因为找了很多 Linux 下安装 Jenkins 的教程,不是很满意 所以决定自己写一篇以备后用(终于让我找到了Java...echo y|sudo apt-get install jenkins Jenkins的运行 Jenkins 是以服务的形式运行的,故可使用如下民两个管理服务,默认使用 8080 端口 启动服务:sudo.../bin/bash -ilex,此为我安装 nvm 后在终端可以访问, Jenkins 构建 shell 脚本时无法访问的解决方案 通过-i 参数和-l 参数让 bash 为 login shell...总结 在使用过程中,还有很多需要记录的,后续再逐步总结。...最近十分不容易的用Jenkins+Docker把项目部署到服务器了,在找资料的过程中,发现很难一下就找到自己想要的,果然,还是得自己动手总结了。

    2.1K10

    Intel E810网卡芯片架构简介及以太内核驱动初始化源码分析

    pcie_flr -> ice:在故障转储内核中首先重置 当系统在发生紧急情况后启动到故障转储内核时,ice 网络设备可能仍然有挂起的事务,这些事务可能会在设备重新启用时导致错误或机器检查。...为了正确地从活动闪存组中读取数据,驱动程序必须手动计算偏移量。 在 NVM 初始化期间,读取 Shadow RAM 控制字并确定每个 NVM 模块的哪个存储体处于活动状态。...读取 NVM 版本时,某些字段是从 Shadow RAM 中读取的。 Shadow RAM 是闪存的第一个 64KB,在设备加载期间填充。 大多数字段是从活动 NVM 组内的部分复制的。...DDP包文件(名称中带有PCIe设备序列号的文件,以便可以在不同的设备上使用不同的DDP包文件)。...如果 VSI 支持在 DVM 中剥离内部 VLAN,则必须在运行时进行配置。

    80310

    NVS —— js 实现的node版本管理工具

    描述 nvs help 获取命令的详细帮助 nvs install 初始化并使用 NVS nvs uninstall 从 profile 和 environment 中移除 NVS...根据目录自动切换版本 在 Bash 或 PowerShell 中,NVS 可以在更改目录时自动切换当前 Shell 中的 Node.js 版本。默认情况下,此功能处于禁用状态。...在 Windows 上,PATH环境变量在用户配置文件中更新,因此新的 Shell 将使用默认版本。...在 Windows 上,在创建符号目录链接%ProgramFiles%\Nodejs,并将该目录添加到系统PATH中。...当$NVS_HOME指向非系统目录时,将跳过此系统链接功能,因为在系统目录中创建到用户文件的符号链接是错误的。 依赖关系 除了自动下载的节点的私有副本之外,NVS 没有任何外部依赖关系。

    2.5K30

    NVS —— js 实现的node版本管理工具

    描述 nvs help 获取命令的详细帮助 nvs install 初始化并使用 NVS nvs uninstall 从 profile 和 environment 中移除 NVS...根据目录自动切换版本 在 Bash 或 PowerShell 中,NVS 可以在更改目录时自动切换当前 Shell 中的 Node.js 版本。默认情况下,此功能处于禁用状态。...在 Windows 上,PATH环境变量在用户配置文件中更新,因此新的 Shell 将使用默认版本。...在 Windows 上,在创建符号目录链接%ProgramFiles%\Nodejs,并将该目录添加到系统PATH中。...当$NVS_HOME指向非系统目录时,将跳过此系统链接功能,因为在系统目录中创建到用户文件的符号链接是错误的。 依赖关系 除了自动下载的节点的私有副本之外,NVS 没有任何外部依赖关系。

    1.9K30

    环境配置:React Native 开发环境配置 For Android

    Homebrew安装 Homebrew是一款自由及开放源代码的软件包管理系统,用以简化Mac OS X系统上的软件安装过程,Homebrew以Ruby语言写成,针对于Mac OS X操作系统自带Ruby...安装完了nvm,我们这里最好配置一下环境变量到.bash_profile文件,因为如果不配置的话,容易出现这个错误nvm command not found。...,然后运行到模拟器或者真机,我们需要搭建一个Android或者ios开发环境,我这里只介绍android,相信想学习React Native的同学,电脑上都基本上有了Android的开发环境。...SDK环境变量的配置 启动Terminal终端工具 输入cd ~/ 进入当前用户的home目录 创建: touch .bash_profile 打开并编辑: open .bash_profile 在文件中写入以下内容...android-sdk-mac_x86/platform-tools 友情提示:上述路径,请换成自己电脑上的SDK所在路径 执行如下命令: source .bash_profile 验证:输入adb

    2.4K80

    VS Code的Git Control无法正确识别husky(NVM)问题

    前言 用了husky 7(.husky) ,里面钩子脚本无法很好的支持vscode git control这个功能 环境 mac node管理工具(nvm) husky 7 问题 举个真实场景的...husky 7 初始化后会在工程根目录生成一个.husky目录, 她们推荐用脚本来划分不同的钩子拦截,所以我们加一个最常见的(pre-commit) image.png 脚本逻辑很简单,就是执行的shell...lint-staged的逻辑 若是你用命令行(在你的terminal),因为你能识别node的情况下, 这里面的钩子内容肯定是可以如期执行的~~ 在GUI执行就会抛出这么一个 image.png 找不到...npx , 第一反应你可能会觉得诧异,但是只是分析下就很清晰了; 我们指定的shell是sh,它里面的默认配置肯定不知道nvm在哪里。...解决 解决这个问题就是补全识别nvm,这里需要一些Linux知识, 其实也不是很复杂,就一些shell的组合 #!/bin/sh .

    1.3K10

    使用 nvm 管理不同版本的 node 与 npm

    以下具体说下 Mac 系统中的安装与使用细节(Windows 系统仅供类比参考)。...一、卸载已安装到全局的 node/npm 如果之前是在官网下载的 node 安装包,运行后会自动安装在全局目录,其中 node 命令在 /usr/local/bin/node ,npm 命令在全局 node_modules.../creationix/nvm/v0.29.0/install.sh | bash 安装完成后请重新打开终端环境,Mac 下推荐使用 oh-my-zsh 代替默认的 bash shell。...版本 如果你的默认 node 版本(通过 nvm alias 命令设置的)与项目所需的版本不同,则可在项目根目录或其任意父级目录中创建 .nvmrc 文件,在文件中指定使用的 node 版本号,例如:...的外部 shell 脚本,因此 n 命令相比 nvm 更加局限。

    2.9K70

    mac和windows上安装nvm管理node版本

    NVM 是 node version manager 的缩写,它是一个用来管理电脑上 node 版本的命令行工具,在日常前端开发中是一个跟 node 一样会经常用到的工具,可以很方便的让我们快速切换不同的...| bash当然,也可以使用 brew 命令来安装,brew 是 mac 系统上一款软件管理工具,通过它可以很方便的安装、卸载第三方软件,类似于node里的npm包管理工具,如果你的 mac 上有安装...brew,可以在终端中输入下方命令安装 nvm:brew install nvm2、执行 nvm 脚本安装文件在 mac 中,source 命令是一个非常有用的命令,它用于在当前shell环境中执行指定的...我们需要先查看上一步骤中 nvm 的安装目录,直接输入:brew list nvm比如我的 mac 上查看到的安装目录:/usr/local/Cellar/nvm/0.39.1_1/etc/bash_completion.d..._1/nvm.sh其实除了上面自己查找nvm脚本的位置,还有一种不需要先找出脚本位置更简单的方式,推荐大家直接用这一种方式,在终端中输入:source ~/.nvm/nvm.sh3、设置环境变量到这里如果我们直接在终端命令中输入

    60910

    如何使用Docker构建开发环境

    我们在开发中都会遇到这样的问题:在本地开发好功能后,部署到服务器,或者其他人拉到本地接着开发时,会出现功能无法使用的情况。 这些异常情况,大多数时候是因为系统不同而导致的依赖差异。...运行 Docker: 从应用中找到 Docker 图标并点击运行。 运行之后,会在右上角菜单栏看到多了一个鲸鱼图标,这个图标表明了 Docker 的运行状态。...换源 Windows 和 Mac 都是使用的 Docker Desktop,所以直接在 GUI 中配置即可。...包含环境: node.js 14.17 npm 6.14 yarn 1.22 # 前端开发中,时常需要使用 shell 命令,而有一个较为完整的环境比较重要,因此选择了使用 ubuntu 作为基础,若在意容器大小的话...总结 使用 Docker 来搭建开发环境十分方便,一次搭建,即可在许多机器上多次使用,即使是要重装系统,也不必在重复配置。

    2.5K30

    使用 nvm 管理 node 版本:如何在 macOS 和 Windows 上安装使用nvm

    二、nvm的安装与基本使用 2.1 macOS安装nvm 在macOS上,您可以通过以下两种主要方式来安装nvm:使用curl或Homebrew。...在终端中运行以下命令: source ~/.nvm/nvm.sh 将这行命令添加到您的shell启动脚本中(例如~/.bash_profile、~/.bashrc或~/.zshrc),以便每次启动终端时自动加载...使用Homebrew安装nvm: brew install nvm 配置环境变量 Homebrew安装nvm后,您需要将nvm的环境变量添加到您的shell启动脚本中(例如~/.bash_profile...注意:如果你已经安装了 node ,你需要卸载它,这样在使用不同版本的 node 和从 NPM 注册表安装包时不会导致错误。...检查nvm配置 确保nvm的环境配置在用户的shell启动脚本中。例如,对于bash用户,配置通常在~/.bashrc文件中;对于zsh用户,配置通常在~/.zshrc文件中。

    8.5K11
    领券