说我有:
p.size = packetLine[0]; // where packetLine is of type String[] and element at that position is number represented by String
我不想总是写
Integer.parseInt
or reverse
String.valueOf
Eclipse给出了纠正错误的建议,我可以建议转换值吗?
目前它建议改变类型。我想第三个命题'转换为Int'或'转换为字符串;
当重复一千次时,这尤其令人讨厌,我可能只是将我自己的方法转换为toInt或toString2,但在构建解决方案中会更好。
答案 0 :(得分:2)
是的,你坚持使用类中的方法(如你所建议的toInt())或静态实用方法。 (这很好,如果你不想有很多try / catch,你可以选择为格式错误的整数返回0。或者任何合适的。我喜欢0而不是异常。)
在连接期间,唯一的“内置”转换是将任何内容转换为String(使用其toString()方法)。像,
String s = "as a string, it is: " + anything; // and null becomes "null".
有时你会看到这个:
String s = "" + something; // shorthand
(数字类型也是为你隐式投射的。但大多数情况下,你应该是类型安全的,所有这些。)
答案 1 :(得分:1)
你不能在java中添加隐式强制转换,因为语言不支持它,在原始类型/类层次结构之外。
答案 2 :(得分:1)
你要求的不是施法。 Java将术语“转换”用于两个操作:
通过尽可能多地近似原始值将数字基元转换为另一个数字基元,例如int
至double
。
将对象引用变量的内容存储到更具体的引用变量当且仅当所引用的对象实际可以存储在那里。
您要求的是转换从String到基本类型,反之亦然。为此提供快捷方式通常没有意义。有多种方法可以做到,没有一种是普遍的。例如。数字字符串可以解释为八进制数或十六进制数,并且float
可以转换为具有不同浮点数的字符串,具体取决于所需的精度......
修改强>
通过创建custom editor templates in Eclipse,您可以通过重复操作让您的生活更轻松。当您按Control+Space
时,可以访问编辑器模板以及其他内容辅助提议。模板创建并不总是直截了当,但在某些情况下它可能非常有用。