我正在练习面试,但我遇到一个不使用字符串方法而创建String方法indexOf的问题。我的第一个想法是将字符串处理为char[],但是我不确定如果不使用.toCharArray()怎么做

如果有人问过这个面试问题,我会很乐意您的投入。

最佳答案

不使用String提供的任何方法,将字符串“转换”为字符数组的唯一选择是使用反射:

char[] c = String.class.getDeclaredField( "value" ).get( "your string" );


请注意,您必须捕获异常等。

值得注意的是:这非常不安全,因为您永远不知道在任何实现中该字段是否都称为value。这不是String类的预期用法。还要注意,结果数组可能大于实际字符串,即空终止符可能在任何位置。

09-30 23:34
查看更多