小结---字符串/数组等转换

第一种,数组转变成字符串
用于:想得到某个数组里最大值对应的位数
两种方法:**vlaueOf()**函数:static Integer valueOf(int i) static Integer valueOf(String s) static Integer valueOf(String s, int radix)
直接加空字符串“ ”强制转换;

public class Max {
    public static void main(String[] args) {
        int[] arr = {123, 6789, 34, 21, 8};
        int max = arr[0];
        int val = 0;
        for(int i = 0; i < arr.length; i++){
          if(max < arr[i]){
              max = arr[i];
              val = i;
          }
        }
        String s = String.valueOf(max);
        System.out.println("第"+ val + "位的值最大,值为" + max +", 是" + s.length() + "位数字");
        System.out.println("=======================================");
        String a = max + "";
        System.out.println("第"+ val + "位的值最大,值为" + max +", 是" + a.length() + "位数字");
    }

}


打印输出结果为:

D:\JAVA\jdk-13.0.1\bin\java.exe "-javaagent:D:\JetBrains\IntelliJ IDEA 2019.3.1\lib\idea_rt.jar=61714:D:\JetBrains\IntelliJ IDEA 2019.3.1\bin" -Dfile.encoding=UTF-8 -classpath D:\IdeaProjects\basic-code\out\production\day01-code yu.practice03.Sort.Max
第1位的值最大,值为6789,4位数字
=======================================1位的值最大,值为6789,4位数字

Process finished with exit code 0

**toString()**方法:返回一个字符串值

//Arrays需要提前导包
 System.out.println(Arrays.toString(arr));

第二种:将字符串转换为数组
**toCharArray()**方法:将字符串转换为字符数组(注意该函数无参)

public class Test {
    public static void main(String args[]) {
        String Str = new String("www.runoob.com");

        System.out.print("返回值 :" );
        System.out.println( Str.toCharArray() );
    }
}

运行结果为:

返回值 :www.runoob.com

**charAt(int index)**方法:返回指定索引处的字符。索引范围为从 0 到 length() - 1。
**parseInt(String s , int radix)**方法:将字符串参数作为有符号的十进制整数进行解析。如果方法有两个参数, 使用第二个参数指定的基数,将字符串参数解析为有符号的整数。即将字符串变成整数。
substring(int beginIndex, int endIndex):返回字符串的子字符串,分割字符串。

public class Test {
    public static void main(String args[]) {
        String Str = new String("www.runoob.com");
 
        System.out.print("返回值 :" );
        System.out.println(Str.substring(4) );
 
        System.out.print("返回值 :" );
        System.out.println(Str.substring(4, 10) );
    }
}

运行结果为:

返回值 :runoob.com
返回值 :runoob

StringBuilder/StringBuffer

当对字符串进行修改的时候,需要使用 StringBufferStringBuilder 类。
和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

Arrays类中的一些方法

arrays.copyOf: 其语法为: copyOf(arr,int newlength),参数中,arr是要进行复制的数组,newlength是int型常量,用以指定复制后的新数组的长度,如果新数组的长度大于原数组的长度,多余的部分默认值是0(String类型的数组用null来填充)。如果复制后的数组长度小于原数组的长度,则会从原数组的第一个元素开始截取至达到新数组的长度为止。
**arrays.copyOfRange:其语法为:copyOfRange(arr,int fromIndex,int toIndex),fromIndex是开始复制数组的索引位置,其取值必须在0到数组的长度之间,新数组包括索引为fromIndex的元素。toIndex表示最后的索引位置,新数组不包括索引为toIndex的元素。左闭右开。
** range() 函数
:(1)它表示的是左闭右开区间;(2)它接收的参数必须是整数,可以是负数,但不能是浮点数等其它类型;(3)它是不可变的序列类型,可以进行判断元素、查找元素、切片等操作,但不能修改元素;(4)它是可迭代对象,却不是迭代器。

Arrays.asList的作用是将数组转化为list,一般是用于在初始化的时候,设置几个值进去,简化代码,省去add的部分。
示例:List ebsCodes = Arrays.asList(“USERNAME”,“REAP”,“NLS”);
也可以使数组[但是数组类型不能是(byte,short,int,long,float,double,boolean),可以是integer等。
String[] s = {“aa”,“bb”,“cc”};
List strlist = Arrays.asList(s);

replaceAll(regex , 要替换的内容) —regex 是正则表达式

s = s.replaceAll("[^0-9a-z]" "");
//把不是0-9,a-z的字符替换成空;

replace和replaceAll是JAVA中常用的替换字符的方法
public String replace(char oldChar, char newChar) 在字符串中用newChar字符替代oldChar字符,返回一个新的字符串
public String replaceAll(String regex,String replacement)使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。
区别:
1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);
2)replaceAll的参数是regex,即基于正则表达式的替换,比如,可以通过replaceAll("\d", “*”)把一个字符串所有的数字字符都换成星号;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值