技巧总结java整数,字符串,数组之间的相互转换

Posted 敲代码的xiaolang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技巧总结java整数,字符串,数组之间的相互转换相关的知识,希望对你有一定的参考价值。

总结了JAVA里面整数,字符串,数组之间的常用变换方法,以及一些常见的用法,方便查阅复习,如有问题,欢迎各位大佬留言。

1.整数变为字符串

int number = 123456;
Integer.toString(number);
int number = 123456;
String.valueOf(number);
int number = 123456;
String str = number+"";

2.字符串变为整数

String s="123456";
int i;
i=Integer.parseInt(s);
String s="123456";
int i;
i=Integer.valueOf(s).intValue();

3.整数变为数组

int number = 123456;
char[] array = String.valueOf(number).toCharArray();
for (int i = 0; i < array.length; i++)
	System.out.print(array[i] + " ");

int number = 123456;
String[] str = Integer.toString(number).split("");
for(int i = 0; i < str.length; i++)
	System.out.print(str[i] + " ");

4.数组变为整数

int sum = 0;
int array[] = new int[]1,2,3,4,5,6;
for(int j = 0; j <= array.length - 1; j++)
	sum = sum * 10 + array[j];

5.字符串变为数组

String s = "123abc我爱你";
char[] array = new char[s.length()];
for(int i = 0; i < s.length(); i++)
    array[i] = s.charAt(i);

for(int i = 0; i < s.length(); i++)
    System.out.print(array[i]);

String string = "123abc";
String[] array = string.split("");
System.out.println(Arrays.toString(array));
String string = "123abc";
String[] array; 
Pattern pattern = Pattern.compile("");
array = pattern.split(string);
System.out.println(Arrays.toString(array));

6.数组变为字符串

String[] string = "123", "abc", "喜 之 郎";
StringBuffer stringBuffer = new StringBuffer();
for(int i = 0; i < string.length; i++)
	stringBuffer.append(string[i]);

String string2 = stringBuffer.toString();
char[] data = 'a','b','c','喜','羊','羊','1','2','3';   
String s = new String(data);
char[] array = 'a','b','c','喜','羊','羊','1','2','3';   
String str = String.valueOf(array);
System.out.println(str);

7.字符串常用方法

  • 返回指定索引处的字符
String s = "https://blog.csdn.net/weixin_52605156";
char result = s.charAt(6);
System.out.println(result);
  • 把这个字符串和另一个对象比较。
String a = "a";
String b = "b";
System.out.println(a.compareTo(b));
//输出 -1
String a = "abc";
String b = "bcde";
System.out.println(a.compareTo(b));
//两个字符串首字母不同时,返回首字母的 ASCII差值,如果首字母相同的时候,那么比较下一个字符,直到有不同的字母为止。 
//输出 -1
String a = "abc";
String b = "abcd";
System.out.println(a.compareTo(b));
//上述情况的时候,则返回两个字符串的长度差值。
//输出 -1
  • 按字典顺序比较两个字符串,不考虑大小写。
String str1="php";
String str2="java";
System.out.println(str1.compareToIgnoreCase(str2));
//返回第一个不同的字符相差的ASCII码值
//输出 6
String str1="java";
String str2="JAVAweb";
System.out.println(str1.compareToIgnoreCase(str2));
//返回相差的字符个数
//输出 -3
  • 将指定字符串连接到此字符串的结尾。
String s = "hello ";
s = s.concat("world!");
System.out.println(s);
//输出 hello world!
  • 返回指定数组中该字符序列
char[] Str1 = '1', '2', '3', '4', '5', '6', '7', '8', '9';
String Str2 = "";
Str2 = Str2.copyValueOf(Str1);
System.out.println("输出:" + Str2);
Str2 = Str2.copyValueOf( Str1, 1 , 2);
System.out.println("输出:" + Str2);
//输出:123456789
//输出:23
  • 判断字符串是否以指定后缀结束
String string = new String("hello world!");
boolean a;
a = string.endsWith("hello");
System.out.println("真假?:" + a);
a = string.endsWith("world!");
System.out.println("真假?:" + a);
//真假?:false
//真假?:true
  • 字符串与指定的对象比较
String string1 = new String("abc");
String string2 = string1;//string1和string2共用一片空间
String string3 = new String("abc");//string3单独又开辟了一片空间
boolean a;
a = string1.equals(string2);
System.out.println("真假?:" + a);//真假?:true
a = string1.equals(string3);
System.out.println("真假?:" + a);//真假?:true
// == 比较引用地址是否相同,equals()比较字符串内容是否相同。
  • 将字符从字符串复制到目标字符数组
public void getChars(int begin, int end, char[] array, int d)
//begin: 字符串中要复制的第一个字符的索引。
//end: 字符串中要复制的最后一个字符之后的索引。
//array: 目标数组。
//d: 目标数组中的起始偏移量。
String string1 = new String("123abc你好世界! hello world!");
char[] array = new char[6];
string1.getChars(4, 10, array, 0);
System.out.print("拷贝的字符串:");
System.out.println(array);
//拷贝的字符串:bc你好世界
  • 检测两个字符串在一个区域内是否相等
public boolean regionMatches(boolean a,int b, String c,int d,int length)
/*
a : 如果为 true,则比较字符时忽略大小写, 不写的话默认是false。
b : 字符串中的起始偏移量。
c : 字符串参数。
d : 字符串参数中子区域的起始偏移量。
length : 要进行比较的字符数目。
*/
String string1 = new String("www.csdn.com");
String string2 = new String("CSDN");
String string3 = new String("csdn");
System.out.print("返回值 :" );//返回值 :false
System.out.println(string1.regionMatches(4, string2, 0, 3));
System.out.print("返回值 :" );//返回值 :true
System.out.println(string1.regionMatches(4, string3, 0, 3));
System.out.print("返回值 :" );//返回值 :true
System.out.println(string1.regionMatches(true, 4, string2, 0, 3));
  • 检测字符串是否以指定的前缀开始
String string = new String("www.csdn.com");
System.out.print("返回值: " );
System.out.println(string.startsWith("www"));
//返回值: true
  • 将字符串转换为小写
String string = new String("ABCDEFG");
System.out.print("变为小写: ");
System.out.println(string.toLowerCase());
//变为小写: abcdefg
  • 将字符串小写字符转换为大写
String string = new String("abcdefg");
System.out.print("变为大写:" );
System.out.println(string.toUpperCase());
//变为大写:ABCDEFG
  • 删除字符串的首尾空白符
String string = new String("  a b c d e f g  ");
System.out.print("初始字符串是: ");
System.out.println(string);
System.out.print("删除首尾空白: ");
System.out.println(string.trim());
/*
初始字符串是:   a b c d e f g  
删除首尾空白: a b c d e f g
*/
  • 判断字符串中是否包含指定的字符或字符串
String string = "csdn";
System.out.println(string.contains("c")); //true
System.out.println(string.contains("sd")); //true
System.out.println(string.contains("a")); //false
  • 判断字符串是否为空
String string = "csdn";  
String string2 = "";   
String string3 = "  ";   
System.out.println("string是否为空:" + string.isEmpty());//string是否为空:false
System.out.println("string2是否为空:" + string2.isEmpty());//string2是否为空:true
System.out.println("string3是否为空:" + string3.isEmpty());//string3是否为空:false

8.数组常用方法

数组基础请移步:https://blog.csdn.net/weixin_52605156/article/details/120355549

  • 遍历二维数组
int array[][] = 4,3,5,3;
int i = 0;
for(int a[]: array)
	i++;
    int j=0;
    for(int b: a)
		j++;
    	if(i==array.length && j==a.length)
    		System.out.println(b);
        	else
             	System.out.println(b + ",");
              
          
      
  • 替换元素
fill(int[] array,int value);
使用指定的int值分配给int型数组的每个元素
fill(int[] array,int fromIndex,int toIndex,int value);
fromIndex 是要使用指定值填充的第一个元素的索引(被包括)
toIndex 是使用指定值填充的最后一个元素的索引(不包括)
value 是储存在数组所有元素中的值
//我们应当注意不要让索引位置越界,否则会出现数组越界异常
  • 数组排序
Arrays.sort(object);//object也就是数组的名称
//JAVA里面对于String类型数组的排序,遵循的原则是数字排在字母前面,大写字母排在小写字母前面。
  • 数组拷贝
copyOf(array,int newlength);
array 是要进行复制的数组
newlength 是复制后的新数组的长度,如果比原来大,那么空余的地方用0填充,如果小,那么就截取到满足条件为止。
copyOfRange(array,int fromIndex,int toIndex)
array 是要进行复制的数组对象
fromIndex 开始复制数组的索引位置,需要包括
toIndex 是指要复制范围的最后索引位置,但是是不包括Index的元素
  • 元素查询
binarySearch(Object[ ] array,Object key)
//array 是要进行搜索的数组
//key 是要进行搜索的值,如果这个key包含在数组里面,则返回搜索值得索引,否则返回 -1 或 " - "
 binarySearch(Object[ ] array,int fromIndex, int toIndex ,Object key)
 array要检索的数组
 fromIndex是指定范围的开始处索引
 toIndex 是指范围内的结束处索引
 key 是指要搜索的元素
 //使用此方法依然要进行数组的排序
  • 数组创建ArrayList
String[] stringArray =  "a", "b", "c", "d", "e" ;
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList);
// [a, b, c, d, e]
  • 判断数组是否包含某个值
String[] stringArray =  "a", "b", 

以上是关于技巧总结java整数,字符串,数组之间的相互转换的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode中字符串总结

C# 字符串与字节数组相互转换

LeetCode经典题分类(数学 - 数组 - 字符串)精选 - JavaScript - ES6 - 技巧总结

java字符数组与字符串相互转换

进制转换之非十进制数之间相互转换

JAVA里面json和java对象之间的相互转换