java - 根据 String.valueOf(Object obj) 的值创建一个新 Shape

标签 java string javafx javafx-2 javafx-8

我正在尝试找出从给定的String创建新的Shape实例的最有效方法,例如由 String.valueOf(Object obj) 静态方法为 Shape 参数返回的值。假设我创建了一个Circle,并向其中添加了一些附加功能:

Circle circle = new Circle(10, 10, 10, Color.BLACK);
circle.setStroke(Color.RED);
circle.setStrokeWidth(2);

现在,我正在编写 String.valueOf(circle) 返回的值,即:

Circle[centerX=10.0, centerY=10.0, radius=10.0, 
fill=0x000000ff, stroke=0xff0000ff, strokeWidth=2.0]

...在 *.txt 文件中,或类似的文件中。接下来,我读取此 *.txt 文件,并将其内容放入新的 String 中,例如:

String stringCircle = "Circle[centerX=10.0, centerY=10.0, radius=10.0, "
                + "fill=0x000000ff, stroke=0xff0000ff, strokeWidth=2.0]";

stringCircle 值创建新的 Circle 实例的最佳方法是什么?

最佳答案

考虑重写 Circle 的 toString 方法以返回易于阅读的值字符串,然后编写构造函数 public Circle(StringDefinition) 来相应地读取该字符串.

该字符串可能类似于 10.0 10.0 10.0 0x000000ff 0xff0000ff 2.0 由于您已经实现了 toString 和构造函数,因此您可以假设参数顺序始终相同,然后使用以空格作为分隔符的字符串标记器来轻松分配值。

关于java - 根据 String.valueOf(Object obj) 的值创建一个新 Shape,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25252161/

相关文章:

string - 使用循环遍历字符串并检查 char 作为字典键

java - 删除矩形之间的间距 JavaFX

java - 在 fxml 布局中使用常量

应用程序启动方法中未指定 Controller 的Javafx错误异常

java - 如何根据输入类型执行某些命令

java - Junit5:动态测试中动态断言工作异常

java - 在 Java 中使用 RMI 实现领导者选举算法

string - Swift String.removeRange 无法编译

c# - 如何从字符串中删除所有空白字符?

java - 使用 Eclipse 在 Android 虚拟机中启动 Android java 项目时出现问题