返回信息流大伙都很热心,先谢过大家了。
需要处理一类字符串,共同点是都需要从头到尾遍历字符串。不同点是对不同类型的字符串处理方式有所不同。比如对于一个全数字的字符串,要进行1~9的升序排序筛选并输出。对于一个全字母的字符串,要按照ASCII码值进行升序排序。
这时怎么按照面向对象的要求来构建类以及类的方法呢?看下面的方法对不对:
public class StringProcess extends String
{
private:
public:
strTraversal();//字符串遍历的方法
}
public class StringProcessX extends StringProcess
{
private:
public:
methodX();//特殊处理
}
实例化类StringProcessX就获得了strTraversal()这个遍历的方法。
请大家指教一下。
另一个问题是非指针遍历字符串的问题。JAVA里面都是怎么替代使用指针的,就是从字符串中取出一字符,然后处理,并且存放到一个缓冲字符串的末尾,然后接着取出下一个字符。这种操作怎么用JAVA来表达。在C/C++中用指针较多,到了JAVA反而不适应了。
谢谢大家~
这是一条镜像帖。来源:北邮人论坛 / java / #16212同步于 2010/10/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
JAVA新手问一个面向对象构建类以及非指针遍历字符串的问题
tc08
2010/10/31镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
java中的String是一个final的类,不能够被继承
String本身在内存中不可以被修改,被创建后就不能修改值,每一次修改的操作实际上都是在内存中创建一个新的String
频繁修改的字符串不应存放在String中,应该存放在StringBuffer中
字符串的排序操作最好是在char[]中进行
给楼主个字符串排序的示例程序
import java.util.*;
public class TestSortString {
public static void main(String[] args) {
String str = "54321";
char[] strChar = str.toCharArray();
Arrays.sort(strChar);
System.out.println(strChar);
}
}
【 在 tc08 (tc08) 的大作中提到: 】
: 大伙都很热心,先谢过大家了。
: 需要处理一类字符串,共同点是都需要从头到尾遍历字符串。不同点是对不同类型的字符串处理方式有所不同。比如对于一个全数字的字符串,要进行1~9的升序排序筛选并输出。对于一个全字母的字符串,要按照ASCII码值进行升序排序。
: 这时怎么按照面向对象的要求来构建类以及类的方法呢?看下面的方法对不对:
: ...................
学习了
【 在 ox 的大作中提到: 】
: java中的String是一个final的类,不能够被继承
: String本身在内存中不可以被修改,被创建后就不能修改值,每一次修改的操作实际上都是在内存中创建一个新的String
: 频繁修改的字符串不应存放在String中,应该存放在StringBuffer中
: ...................
谢谢(⊙o⊙)…学习一下,我去跑跑看
【 在 ox 的大作中提到: 】
: java中的String是一个final的类,不能够被继承
: String本身在内存中不可以被修改,被创建后就不能修改值,每一次修改的操作实际上都是在内存中创建一个新的String
: 频繁修改的字符串不应存放在String中,应该存放在StringBuffer中
: ...................
【 在 ox 的大作中提到: 】
: java中的String是一个final的类,不能够被继承
: String本身在内存中不可以被修改,被创建后就不能修改值,每一次修改的操作实际上都是在内存中创建一个新的String
: 频繁修改的字符串不应存放在String中,应该存放在StringBuffer中
: ...................
ox果然是牛人啊。
本人嵌入式开发,对string和stringbuffer 感触很深。
字符串放在stringbuffer中能节省很多内存的。