1、Java 类型转换
类型转换是将一种数据类型的值分配给另一种类型时的类型转换。
在Java中,有两种类型的转换:
- 自动转换(自动)-将较小的类型转换为较大的类型
byte->short->char->int->long->float->double - 强制转换(手动)-将较大的类型转换为较小的类型
double->float->long->int->char->short->byte 
2、自动数据类型转换
将较小数据的类型传给较大数据的类型时,将自动完成转换:
例如:
public class main {
  public static void main(String[] args) {
    int myInt = 9;
    double myDouble = myInt; // 自动转换: int 转换成 double
    System.out.println(myInt);      // 输出 9
    System.out.println(myDouble);   // 输出 9.0
  }
}3、强制数据类型转换
强制数据类型转换是手动将较大范围数据转换较小数据类型,格式是在需要转型的数据前加上“( )”,然后在括号内加入需要转化的数据类型。有的数据经过转型运算后,精度会丢失,而有的会更加精确。
例如:
public class main {
  public static void main(String[] args) {
    double myDouble = 9.78;
    int myInt = (int) myDouble; // 手动转换: double 转换成 int
    System.out.println(myDouble);   // 输出 9.78
    System.out.println(myInt);      // 输出 9
    int x;
    double y;
    x = (int)34.56 + (int)11.2;  // 丢失精度
    y = (double)x + (double)10 + 1;  // 提高精度
    System.out.println("x=" + x);
    System.out.println("y=" + y);
  }
}4、基本数据类型与包装类之间的转换
Java 提供了 parse 方法和 valueOf 方法来实现基本数据类型与包装类之间的转换。
| 数据类型 | 转换为其他类型 | 转换为字符串 | 转换为字符串 | 
| byte | Byte.parseByte(str) | String.valueOf([byte] bt) | Byte.toString([byte] bt) | 
| int | Integer.parseInt(str) | String.valueOf([int] i) | Int.toString([int] i) | 
| long | Long.parseLong(str) | String.valueOf([long] l) | Long.toString([long] l) | 
| float | Float.parseFloat(str) | String.valueOf([float] f) | Float.toString([float] f) | 
| double | double.parseDouble(str) | String.valueOf([double] d) | Double.toString([double] b) | 
| char | str.charAt() | String.valueOf([char] c) | Character.toString([char] c) | 
| boolean | Boolean.getBoolean(str) | String.valueOf([boolean] b) | Boolean.toString([boolean] b) | 
1)StringBuilder转化为String
    String str = "abcdefghijklmnopqrs";
    StringBuilder stb = new StringBuilder(str);2)整型数组转化为字符串
    StringBuilder s = new StringBuilder();
    for(i=1;i<=n;i++) {
        s.append(String.valueOf(a[i]));
    }
    String str = ""+s;           3)字符串转化为整形数组
    String str="123456";
    int[] a = new int[str.length()];
    for(int i=0;i<str.length();i++) {
        a[i]  = str.charAt(i)-'0';
    }4)字符串转化为字符数组
    String str="123456";
    char[] c = str.toCharArray() ;
    System.out.println(c);5)字符数组转化为字符串
char[] c = {'a','s','d','4','5',};
    String str = new String(c);
    System.out.println(str);6)字符数组转化为整型数组
public class main { 
  public static void main(String[] args) { 
        String str="12345p";
        int[] a = new int[str.length()];
        for(int i=0;i<str.length();i++) {
            a[i]  = str.charAt(i)-'0';
            System.out.println(a[i]);
        }  
  } 
}7)整型数组转化为字符数组
int[] a = {1,2,3,4,5};
    char[] c = new char[a.length];
    for (int i = 0; i < 5; i++) {
        c[i] = (char) (a[i]+'0');
        System.out.println(c[i]);
    }8)整型数转化为字符串
String str = Integer.toString(i);
String s = String.valueOf(i);
String s = "" + i;9)字符串转化为整型数
int i = Integer.valueOf(str).intValue();