Text和String有什么区别?

时间:2017-09-07 22:13:34

标签: java

在阅读JavaFX教程时,我遇到了Text,它被用在我认为会使用String的地方。是唯一的区别

String foo = new String("bat");

Text bar = new Text("bat");

该栏无法编辑,还是我在研究中找不到其他差异?

2 个答案:

答案 0 :(得分:3)

在JavaFX的上下文中,Text javafx.scene.text 包中的一个类。 Text类定义显示文本的节点。段落由' \ n'分隔。并且文本包含在段落边界上。换句话说,Text是场景图的一个组成部分。

String虽然也是一个类,但它是Java语言中的基本数据类型。 String位于 java.lang 包中,由Java编译器隐式导入。 String类表示字符串。 Java中的所有字符串文字,例如" abc",都是作为此类的实例实现的。

相似性

  • Text和String实例都可以包含" text"作为一系列人物。

的差异

  • 字符串值是不可变的,因为一旦分配它就无法更改值但是Text实例是可变的并且可以通过调用 setText()方法来更改。

如果不转换为适当的类,则不能互换使用带有Text或String参数的方法。

Text text = new Text("foo");
// convert Text to String
String s = text.getText(); // value = "foo"
// convert String to Text
text.setText(s); // or text = new Text(s) // value = "foo"

答案 1 :(得分:3)

String只是字符序列的容器。 Text类是一个JavaFX类,用于在显示器上显示字符串/文本(以及颜色,大小等格式)。所以它基本上是一个UI组件。