基础数据类型一般都被分配在栈上,如果要让基础数据类型分配在堆上,可以使用基础数据类型的包装类。
基本类型 对应的包装类
boolean Boolean
char Character
short Short
int Integer
long Long
float Float
double Double
这些包装类中有很多有用的函数,需要时可以查找api文档查看介绍。
下面通过一个例子来练习一下:
传递一个字符串由数字、','、';'组成的字符串"1,2;3,4,5;6,7,8",返回一个二维数组
public
class
BaseType{
public static void main(String[] args){
String st = " 1,2;3,4,5;6,7,8 " ;
double [][] dd = getDouble(st);
for ( int i = 0 ;i < dd.length;i ++ ){
for ( int j = 0 ;j < dd[i].length;j ++ ){
System.out.print(dd[i][j] + " " );
}
System.out.println();
}
}
public static double [][] getDouble(String s){
String[] a = s.split( " ; " );
String[][] b = new String[a.length][];
for ( int i = 0 ;i < a.length;i ++ ){
b[i] = a[i].split( " , " );
}
double result[][] = new double [a.length][];
for ( int i = 0 ;i < b.length;i ++ ){
result[i] = new double [b[i].length];
for ( int j = 0 ;j < b[i].length;j ++ ){
result[i][j] = Double.parseDouble(b[i][j]);
}
}
return result;
}
}
public static void main(String[] args){
String st = " 1,2;3,4,5;6,7,8 " ;
double [][] dd = getDouble(st);
for ( int i = 0 ;i < dd.length;i ++ ){
for ( int j = 0 ;j < dd[i].length;j ++ ){
System.out.print(dd[i][j] + " " );
}
System.out.println();
}
}
public static double [][] getDouble(String s){
String[] a = s.split( " ; " );
String[][] b = new String[a.length][];
for ( int i = 0 ;i < a.length;i ++ ){
b[i] = a[i].split( " , " );
}
double result[][] = new double [a.length][];
for ( int i = 0 ;i < b.length;i ++ ){
result[i] = new double [b[i].length];
for ( int j = 0 ;j < b[i].length;j ++ ){
result[i][j] = Double.parseDouble(b[i][j]);
}
}
return result;
}
}