gpt4 book ai didi

Android StringBuilder 与可编辑

转载 作者:行者123 更新时间:2023-11-29 01:12:31 27 4
gpt4 key购买 nike

试图理解this answer ,我没能理解 StringBuilder 之间的区别和 Editable .此图像(减去手绘红色圆圈)来自该答案。

enter image description here

它们都有appenddeleteinsertreplace 文本的方法。我看到 StringBuilder 是一个实际的类,而 Editable 是一个接口(interface)。但是我可以使用 textView.getEditableText()TextView 返回一个 Editable,如果它是一个接口(interface),这看起来很奇怪。幕后的具体实现是怎样的?我还看到 Editable 可以有跨度,而 StringBuilder 没有。

我想我已经接近理解其中的区别了,但我还需要更多的解释。我很惊讶我找不到这个问题已经被问过的地方,所以我现在问。

再次强调:

  • StringBuilderEditable 有什么区别?
  • 我什么时候应该使用一种而不是另一种?

最佳答案

What is the difference between StringBuilder and Editable?

Editable 可以包含 html 等标记。 StringBuilder 仅保存纯文本。

But I can get an Editable back from a TextView with textView.getEditableText(), which seems strange if it is an interface. What is the concrete implementation behind the scenes?

这并不奇怪。它返回一个Editable,具体实现取决于你如何设置文本。

is the object that I am getting back from TextView actually a SpannableStringBuilder? And if so, why do I get an incompatible types error if I write SpannableStringBuilder myString = textView.getEditableText();

可能是也可能不是。你所知道的是,这是一个可编辑的。 SpannableStringBuilderEditable,但 Editable 不是 SpannableStringBuilder,这就是为什么您不能将将 getEditableText 的值返回给 SpannableStringBuilder,除非您向下转换它。我

关于Android StringBuilder 与可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41933381/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com