Chinaunix首页 | 论坛 | 博客
  • 博客访问: 444852
  • 博文数量: 293
  • 博客积分: 4204
  • 博客等级: 上校
  • 技术积分: 3060
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-21 10:27
个人简介

nobody

文章分类

全部博文(293)

文章存档

2014年(27)

2013年(105)

2012年(41)

2011年(109)

2010年(11)

分类:

2011-05-03 11:14:52

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");

阅读(705) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~