在一次面试时,面试官问我字符串的反转如何实现,很简单的问题呀,当时拿纸拿笔就写出来了,可是人家说我是培训机构出来的,真的很蒙圈,到现在我都不知道是因为什么。麻烦大家帮我看下如下的代码,哪里显示出我是培训机构的了呢?
第一种:通过StringBuffer实现
![179dc89262cc6a0ccada2a5477f001a9.png](https://i-blog.csdnimg.cn/blog_migrate/bf61f81e3f42882235471e2e88764960.jpeg)
StringBuffer
第二种:通过递归
![6902772232ef74a40bca4fcf408ad6cc.png](https://i-blog.csdnimg.cn/blog_migrate/4f22bd4d9e38aabb196ddc9be3941dd8.jpeg)
递归
第三种:通过charAt实现
![3c8a10e52ccd83a3ed2a89feedd94fee.png](https://i-blog.csdnimg.cn/blog_migrate/c466055bad81b9da5af99d4ee83ba638.jpeg)
charAt
这三种写法怎么就体现我是培训机构了呢,至今为明白哪里出现了问题,希望大家看后,给出一些建议,免得下次继续入坑。
还有一个字符串编码问题:怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串?这个问题我在实际开发中碰见了,但是我忘了到底哪个位置才是我想要的编码了。
String s1 ="你好";
String s2 =new String(s1.getBytes("GB2312"),"ISO-8859-1");
贴出代码,注意最后的位置的编码是我们想要的编码(也就是ISO-8859-1)。
总结:
1、字符串反转的写法有很多,这里只是列出了小编会的几种,但是不知道为什么变成培训机构了。
2、字符串编码实际开发中,也是经常存在的,尤其是GBK的项目,会经常使用到。
最后还是希望有人给我指出字符串反转是哪里出现了问题。