问个关于double Double的问题

fdar 2009-10-07 07:57:46

/*
String s = "1,2;3,4,5;6,7,8";
分成
对应的数组
d[0, 0] = 1.0; d[0, 1] = 2.0;
d[1, 0] = 3.0; d[1, 1] = 4.0; d[1, 2] = 5.0;
d[2, 0] = 6.0; d[2, 1] = 7.0; d[2, 2] = 8.0;
*/

String s = "1,2;3,4,5;6,7,8";
String[] spt = s.split(";");
Double[][] dou;
dou = new Double[spt.length][];

for( int i = 0; i < spt.length; i++ ) {
String[] str = spt[i].split(",");
dou[i] = new Double[str.length];
for(int j = 0; j < str.length; j++ ) {
dou[i][j] = Double.valueOf(str[j]);
}
}
for( int i = 0; i < spt.length; i++ ) {
for( int j = 0; j < dou[i].length; j++ ) {
System.out.print(dou[i][j] + " ");
}
System.out.println();
}




/*
String s = "1,2;3,4,5;6,7,8";
分成
对应的数组
d[0, 0] = 1.0; d[0, 1] = 2.0;
d[1, 0] = 3.0; d[1, 1] = 4.0; d[1, 2] = 5.0;
d[2, 0] = 6.0; d[2, 1] = 7.0; d[2, 2] = 8.0;
*/

String s = "1,2;3,4,5;6,7,8";
String[] spt = s.split(";");
double[][] dou;
dou = new double[spt.length][];

for( int i = 0; i < spt.length; i++ ) {
String[] str = spt[i].split(",");
dou[i] = new double[str.length];
for(int j = 0; j < str.length; j++ ) {
dou[i][j] = Double.parseDouble(str[j]);
}
}
for( int i = 0; i < spt.length; i++ ) {
for( int j = 0; j < dou[i].length; j++ ) {
System.out.print(dou[i][j] + " ");
}
System.out.println();
}




2段代码功能是一样的,问题是double 是基础类, Double是封装的类
为什么double也可以NEW,和Double NEW有什么不同吗?
Double new我知道先在STACK 生成一个引用 然后 数据是在堆里面生成,那么new double内存又
是如何分配的
...全文
110 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
frech0better 2009-10-08
  • 打赏
  • 举报
回复
应该没什么问题的,我们都是这样用的!
chaojiliubi 2009-10-08
  • 打赏
  • 举报
回复
Double[][] dou;对象数组

double[][] dou;double类型数组
浴火涅磐 2009-10-07
  • 打赏
  • 举报
回复
这样用关键字new可能在用的时候会出问题
swandragon 2009-10-07
  • 打赏
  • 举报
回复
new的是数组
loveofmylife 2009-10-07
  • 打赏
  • 举报
回复
你程序里new的是一个数组,又不是Double对象,不管是基本类型数组还是对象数组,都是要new出来的
hoox30912 2009-10-07
  • 打赏
  • 举报
回复
学习啦·
justinavril 2009-10-07
  • 打赏
  • 举报
回复
你new的是数组吧 晕

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧