在试图理解this answer时,我无法理解StringBuilder
和Editable
之间的区别。该图像(减去手绘的红色圆圈)来自该答案。Android StringBuilder vs可编辑
他们都有方法append
,delete
,insert
和replace
文本。我看到StringBuilder
是一个实际类,而Editable
是一个接口。但是我可以从TextView
得到一个Editable
与textView.getEditableText()
,如果它是一个接口,这看起来很奇怪。幕后的具体实施是什么?我也看到,Editable
可以有跨度,而StringBuilder
不可以。
我觉得我接近了解差异,但我可以多用一点解释。我很惊讶,我无法找到这个问题已经被问到,所以我现在问。
再次,具体为:
- 是什么
StringBuilder
和Editable
之间的区别? - 什么时候应该使用一个而不是另一个?
可编辑可以举行这样的HTML标记。 StringBuilder仅保存纯文本。你是什么意思?*如果它是一个界面,这看起来很奇怪*? – Blackbelt
我从'TextView'回来的对象实际上是一个'SpannableStringBuilder'吗?如果是这样,如果我写'SpannableStringBuilder myString = textView.getEditableText();'为什么我会得到一个不兼容的类型错误?@Blackbelt – Suragch
我的问题可能会演变成:'SpannableStringBuilder'和'Editable'有什么区别? – Suragch