我正在练习面试,但我遇到一个不使用字符串方法而创建String方法indexOf
的问题。我的第一个想法是将字符串处理为char[]
,但是我不确定如果不使用.toCharArray()
怎么做
如果有人问过这个面试问题,我会很乐意您的投入。
最佳答案
不使用String
提供的任何方法,将字符串“转换”为字符数组的唯一选择是使用反射:
char[] c = String.class.getDeclaredField( "value" ).get( "your string" );
请注意,您必须捕获异常等。
值得注意的是:这非常不安全,因为您永远不知道在任何实现中该字段是否都称为
value
。这不是String
类的预期用法。还要注意,结果数组可能大于实际字符串,即空终止符可能在任何位置。