服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java数据类型和与string之间的转换


  不是很复杂,知道以下的知识就够了:
  
  1.java 包括两种数据类型:
  原始数据类型(primitive data type):int, byte, float, long, boolean ...
  对象(object):其他的都是对象,包括数组。
  
  
  2.每种 原始数据类型 都有一个相对应的包装类(wrapper class):
  如 int 对应 integer, float 对应 float,有如下特性:
  
  1)包装类里的数值是无法修改的
  
  2)都有一个 构造方法,参数为 对应的原始数据类型,比如:
  new integer (10), new boolean (true)
  
  3)都有一个 构造方法,参数为一个字符串,把字符串转换为值,比如:
  new integer ("10"), new boolean ("true")
  
  4)有一个方法,可以把存在包装类里的值取出来:
  integer.intvalue(), float.floatvalue();
  5)有一个静态方法,不用创建一个对象就可以把字符串转换为值,比如:
  int i = integer.parseint("10");
  
  
  3.string 和 stringbuffer
  每一个 object 都有一个 tostring() 函数。
  java 里使用 操作符重载的地方只有一个: + 操作:
  如果两个操作数中有一个是 string,就调用另一个操作数的 tostring,结果就变成
  两个 string 的相加。
  
  常用在 exception 的处理中,比如:
  try {
  }catch (exception e){
  system.out.println ("error: " + e);
  }
  处理过程:"error: " + e -> "error: " + e.tostring()
  
  如果是 string 和 基本数据类型相加,就先把这个基本数据类型用他的包装类处理。
  "string" + 123 -> "string" + integer(123) -> "string" + integer(123).tostring()
  
  string + string 的过程,java 的内部处理过程(1.4以后)实际上是这样的:
  "string1" + "string2" -> new stringbuffer("string1").append("string2").tostring()
  
  先建立一个 stringbuffer, 再用 append 计算,最后把 stringbuffer 转换成 string
  原因是 string 是 不可修改的,stringbuffer 是可以修改的,字符串计算时还是用
  stringbuffer 比较快
  
  所以,数据转换:
  int -> string
  string newvalue = "" + 10;
  string -> int
  int i = (new integer("10")).intvalue();
  int i = integer.parseint("10");

扫描关注微信公众号