String是不可变得,程序运行时会额外创建对象,当频繁操作字符串时,会额外产生很多临时变量。
因此考虑使用StringBuilder和StringBuffer
两者的区别:StringBuilder线程安全、StringBuffer性能略高
创建内容可变的字符串对象,应优先考虑StringBuilder
因此考虑使用StringBuilder和StringBuffer
两者的区别:StringBuilder线程安全、StringBuffer性能略高
创建内容可变的字符串对象,应优先考虑StringBuilder
2015-09-25
已采纳回答 / 无动于衷
接口是不能实例化的,但是接口的实现类可以,实现类的实例可以用接口的引用接受,像是这样:List<Student> list = new ArrayList<Student>();也可以这样定义属性:private List<Student> list;只要list后来指向一个实现类的实例就可以了:list = new ArrayList<Student>();
2015-09-24
已采纳回答 / 无动于衷
那要看调用equals()方法的对象所对应的类 里的equals方法是怎么写的了。举个例子。一般的类没有重写Object类的equals()方法,比如你随便定义一个类Student,那么当我Student t = new Student();t.equals(??)这里就会调用父类的equals()方法。Object类里的equals方法比较的是地址,所以我写的这个类比较的也是地址。而有些类为了一些使用上的方便合理,于是便重写了equals()方法。比如String类,当我们使用字符串时,当他们内容相同时...
2015-09-23
老师没有错,因为字符串是从下表为0开始存储的,因此,index+1表示‘j',而fileName.length()处没有后缀字符。即包括开始,不包括结束@詹士
2015-09-23
// 获取文件的后缀
String prefix =fileName.substring((index+1));还可以这样,但是如果index+1不用括号括起来的话就会错误
String prefix =fileName.substring((index+1));还可以这样,但是如果index+1不用括号括起来的话就会错误
2015-09-23
// 从后往前每隔三位插入逗号
for(int i = str.length()-3;i >= 0;i -= 3){
str.insert(i,",");
}
for(int i = str.length()-3;i >= 0;i -= 3){
str.insert(i,",");
}
2015-09-23