本文目录一览:
- 1、java大神 字符串的转换基本数据类型
- 2、java中字符串类型与其它类型(整形,浮点型,字符型)的区别
- 3、java中字符串的是什么?
- 4、java string是什么类型
- 5、java中string是什么类型
java大神 字符串的转换基本数据类型
1. 字符串转换为数字
java.lang中的Integer类调用其类方法public static int parseInt(String s)可以将由“数字”字符组成的字符串,比如“876”转换为int数据类型,例如:
int x;
String s = "876";
x = Integer.parseInt(s);
类似地,使用java.lang包中的Byte、Short、Long、Float、Double类调用相应的类方法
public static byte parseByte(String s) throws NumberFormatException
public static short parseShort(String s) throws NumberFormatException
public static long parseLong(String s) throws NumberFormatException
public static double parseDouble(String s) throws NumberFormatException
2. 可以使用下面的方法将数字转化为相应的字符串对象:
① valueOf方法
public static String valueOf(byte n)
public static String valueOf(int n)
public static String valueOf(long n)
public static String valueOf(float n)
public static String valueOf(double n)
例如:将形如123,12345.8等数值转换为字符串
String str = String.valueOf(123)
String str = String.valueOf(12345.8)
② 可以使用toString方法(一个对象通过调用该方法可以获取该对象的字符串表示)
使用java.lang包中的Byte、Integer、Short、Long、Float、Double类调用相应的类方法,Integer.toString、Double.toString,等等
比较常用的是Integer.toString("要进行转换的数字"),方法得到的是一个字符串的对象
例子:
int n = 123;
String m = Integer.toString(n);
System.out.println(m + 1);
Date date = new Date();
System.out.println(date.toString());
所以我们可以使用上面的方法将数字转化为一个字符串
3. 字符串与字符数组
① 将字符数组转换为字符串对象
使用String类的构造方法:String(char a[])和String(char a[],int offset,int length)
分别用数组a中的全部字符和部分字符构造字符串对象
例子:
char a[] = {'1','2','3'};
System.out.println(new String(a).length());
java中字符串类型与其它类型(整形,浮点型,字符型)的区别
String是引用类型。整形,浮点型等是值类型。两者的区别是,引用类型变量在栈中存放的是地址,该地址就是实际在堆中用new申请的存放真实值得空间的首地址。而值类型,在栈中存放的就是数值。所以说定义一个值类型就是放在栈里面的,而引用类型则实际上是放在堆里面的。
java中字符串的是什么?
java中的字符串是由多个字符组成的一串数据,字符串是常量,一旦被创建就不能改变,这是因为字符串的值是存放在方法区的常量池里面,但是引用可以改变。字符串字面值"ab"也可以看成是一个字符串对象。
java string是什么类型
Java中String是一个特殊的包装类数据,有两种创建形式:
String s = "abc";
String s = new String("abc");
第一种先在栈中创建一个对String类的对象引用变量s,然后去查找"abc"是否被保存在字符串常量池中,如果没有则在栈中创建三个char型的值'a'、'b'、'c',然后在堆中创建一个String对象object,它的值是刚才在栈中创建的三个char型值组成的数组{'a'、'b'、'c'},接着这个String对象object被存放进字符串常量池,最后将s指向这个对象的地址,如果"abc"已经被保存在字符串常量池中,则在字符串常量池中找到值为"abc"的对象object,然后将s指向这个对象的地址。
第一种特点:JVM会自动根据栈中数据的实际情况来决定是否有必要创建新对象。
第二种可以分解成两步1、String object = "abc"; 2、String s = new String(object); 第一步参考第一种创建方式,而第二步由于"abc"已经被创建并保存到字符串常量池中,因此jvm只会在堆中新创建一个String对象,它的值共享栈中已有的三个char型值。
第二种特点:一概在堆中创建新对象,而不管其字符串值是否相等,是否有必要创建新对象。
在讲字符串比较前,必须要了解==和equals的区别:
因为java所有类都继承于Object基类,而Object中equals用==来实现,所以equals和==是一样的,都是比较对象地址,java api里的类大部分都重写了equals方法,包括基本数据类型的封装类、String类等。对于String类==用于比较两个String对象的地址,equals则用于比较两个String对象的内容(值)。
java中string是什么类型
Java 中 string 不属于基本的数据类型,只是代表一个类,是一个引用类型。String是引用类型,不过java有字符串常量池机制,声明字符串常量或者字符串常量连接都要用到字符串常量池。如果常量池中有该字符串序列则返回,所以str创建了一个字符串并放入常量池中,str2内的字符序列已在常量池中所以str2直接指向str指向的对象。
基本数据类型就只有八个,数值型:byte,short,int,long,浮点型:float,double,字符型:char,布尔型:boolean。