substring讲解:
创新互联建站是一家专业提供石景山企业网站建设,专注与成都网站设计、成都做网站、H5网站设计、小程序制作等业务。10年已为石景山众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
s=s.substring(int begin);截取掉s从首字母起长度为begin的字符串,将剩余字符串赋值给s;
s=s.substring(int begin,int end);截取s中从begin开始至end结束时的字符串,并将其赋值给s;
split讲解:
java.lang.string.split
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
参数
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator
可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽
略该选项,返回包含整个字符串的单一元素数组。
limit
可选项。该值用来限制返回数组中的元素个数。
说明
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解
。separator 不作为任何数组元素的部分返回。
split 的实现直接调用的 matcher 类的 split 的方法。“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。
Java代码
public static void main(string[] args) {
string value = "192.168.128.33";
string[] names = value.split("\\.");
for (int i = 0; i names.length; i++) {
system.out.println(names[i]);
}}
如果用竖线“|”分隔的话,将出现不可得到的结果,必须改为“\\|”
如果这个java代码里面有多个类,每个类放到一个java文件中。如果只有一个类,那就没办法了。只能通过优化业务逻辑,来减少代码。
一般只要代码格式、注释规范,长一点并不会影响可读性。倒是不好的业务逻辑会影响执行的性能。
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
String[] str = { "112", "2321", "3231", "4443", "5321" };
String[] sub1 = Arrays.copyOf(str, 3);
String[] sub2 = Arrays.copyOfRange(str, 3, str.length);
System.out.println(Arrays.deepToString(sub1));
System.out.println(Arrays.deepToString(sub2));
}
}
运行结果
哈,你的写在一起是没问题的.
在Clean code(整洁代码)里面,提供把功能拆分和抽取,比如你的方法里面有一个判断字符串是否为空的代码:
if(null==str||"".equals(str.trim()){....}
而你这一段代码,在其他地方也经常复用,那么你就可以抽取出去成为一个工具类了
public class StrUtil{
public boolean isEmpty(String str){
return null==str ||"".equals(str.trim());
}
}
那么在你之前的代码里面可以使用,以下的来代替
if(StrUtil.isEmpty(str)){
....
}
这样子,你的代码重用性和可阅读性就提高不少了.
要怎样子才抽取出去呢? 最简单的2点
同一段代码多次重用.
职能单一,一个方法只实现一种功能
详细资料,推荐书籍:CleanCode代码整洁之道
java拆分字符串使用string类的spilt方法,针对某个分隔符来分割一个字符串,示例如下:
public class StringSplit {
public static void main(String[] args) {
String sourceStr = "1,2,3,4,5";//一个字符串
String[] sourceStrArray = sourceStr.split(",");//分割出来的字符数组
for (int i = 0; i sourceStrArray.length; i++) {
System.out.println(sourceStrArray[i]);
}
// 最多分割出3个字符串
int maxSplit = 3;
sourceStrArray = sourceStr.split(",", maxSplit);
for (int i = 0; i sourceStrArray.length; i++) {
System.out.println(sourceStrArray[i]);
}
}
}
输出结果为:
2
4
1
3,4,5