比如我有一个Object
“假装”是String
:有没有办法避免Java的awkard对象转换语法?
Object o = new String("dsadsa");
如果我想使用该对象的字符串函数,首先我必须将它转化成一个像这样的字符串:
((String)o).indexOf("sad");
当有这么多的括号时,这会变得非常烦人和难以理解!特别是当它必须进入IF语句或函数时!
if (((String)o).equals("dsadsa")) {}
什么是避免这种情况的最好方法?
为什么你有一个'Object'如果你知道它的一个'String'?顺便说一句,你不需要在这里或其他地方使用'new String(String)'。 –
是的,我知道,'新的String()'只是一个例子,真正表明该对象是一个字符串,而且,我很乐意避免这个,但是当我使用'Vector'例如,我想存储字符串,他们都是对象,所以我没有选择。 :/ – SmRndGuy
如果您使用Vector来存储_store_字符串,则不需要转换。一个字符串是一个对象,所以它会工作。但是如果你使用的是矢量,除非你使用j2me或者java 1.4,你可以使用矢量,或者甚至ArrayList 将(可能)更好地为你服务 –