gpt4 book ai didi

java 将文字转换为对象

转载 作者:行者123 更新时间:2023-12-01 15:33:36 28 4
gpt4 key购买 nike

我有一个应用程序,其中属性文件包含以下格式的数据

name=abc#$#String
age=23#$#Integer

当值被转换时,将其转换为#$#之后的值。是否可以在不使用 switch 或 if then else 语句的情况下执行此操作。

我想要做的是有一种方法将字符串 String 或 Integer 转换为对象,并且能够在不使用 if then else block 的情况下转换该值。类似这样的事情

String[] tmp = props.getProperty("name").split("#$#");
String name = (tmp[1])tmp[0];

最佳答案

首先,你不能将 String 对象转换为 Integer 对象; String 不是 Integer 的子类。但是,您可以将字符串文字转换为对象并向其强制转换某些内容:

Class.forName("some.package.name.SomeClass").cast(aSubclass);

但是,上述内容仍然适用。您将无法将字符串“23”转换为整数。

看来你想得有点多了。这可以像 if else 语句一样简单,也可以是工厂方法,无论如何它最终都会做同样的事情。

此外,我假设您事先知道对象类型,因为您首先不会将 name 映射到整数。在这种情况下,你不妨按照 alexandros 所说的去做。

关于java 将文字转换为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9245169/

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