android - 为什么 kotlin 中的 readfile 和 string 这两种类型不同?
问题描述
我想读取文本文件并使用该字符串。所以我使用原始文件夹并写了一个 YouTube URL。
当我阅读.txt文件并尝试转移到下一个活动时,该 URL 不起作用。
因此,我将文字与文本文件字符串进行了比较。但类型不同。
我不明白这一点。我怎么解决这个问题?
音乐文件.txt
lLZLWUz2veg
主要活动
var music_url = readFile(musicfile).split("\n")
var url = music_url.get(item.id)
var isEquals = music_url.get(item.id).equals("lLZLWUz2veg")
Log.d("Tag","equals : "+isEquals)
Log.d("Tag","url : "+url)
Log.d("Tag","literal : lLZLWUz2veg")
结果
D/Tag: equals : false
D/Tag: url : lLZLWUz2veg
D/Tag: literal : lLZLWUz2veg
解决方案
由于您没有声明类型,请确保您使用的是结构平等('==')
https://medium.com/@agrawalsuneet/equality-in-kotlin-and-equals-d8373ef529f1
和
检查您的 URL 是否在开头或结尾不包含换行符。您将无法通过当前的日志语句来判断。
IE:
val music_url = readFile(musicfile).split("\n")
val url = music_url.get(0) // I assume its 0? makes the question clearer
val literal = "lLZLWUz2veg"
val isEquals = url == literal
Log.d("Tag", "equals : $isEquals")
Log.d("Tag", "url : [$url]") // Putting [] characters either sides will expose new lines
Log.d("Tag", "literal : [$literal]")
推荐阅读
- javascript - 在没有 Jquery 的情况下单击将类添加到子元素
- jquery - jQuery ReferenceError:找不到变量:事件
- angular - 在不使用 *ngIf 的情况下单击另一个 div 时显示一个 div
- html - 我们可以在一个输入中加入 2 个 HTML 模式吗?
- node.js - 构建后电子Linux应用程序不显示图标
- angular - Angular 2 routerLink 参数和查询参数
- oracle - APEX 办公室打印
- php - 为什么光标 CSS 在 Gmail 中不起作用?
- azure-data-factory - JIRA 复制 Azure 数据工厂中的自定义字段
- javascript - 使用 javascript 检查开始持续时间和结束持续时间验证