论坛首页 Java企业应用论坛

java 字符串 进制之间的转换

浏览 10878 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (3) :: 隐藏帖 (2)
作者 正文
   发表时间:2010-06-23   最后修改:2010-06-23
我无语了。。。。

楼上的问题都看不懂,还敢发表意见?

int 装箱后 是不是 Integer对象?

Double d;
能不能给他赋值个 Integer的实例。


还有,你说的垃圾问题 ,是 new 还是什么 valueOf();
这不过,里面new 还是外面new的问题。看书别看傻了。


Integer.valueOf(int a){
XXX 代码
YYY 代码
 return new Integer(a);// 无论如何,得 new !
}


0 请登录后投票
   发表时间:2010-06-23   最后修改:2010-06-23
还有,你觉得这两行代码有区别??


1:   Double d= 12;

2:  public void m(Double d2){
XXXX
}

m(12);



d2 和 d有区别?? 只是范围,生命周期的区别....
0 请登录后投票
   发表时间:2010-06-23  
首先呢,表激动

其次
    public static Integer valueOf(int i) {
        if(i >= -128 && i <= IntegerCache.high)
            return IntegerCache.cache[i + 128];
        else
            return new Integer(i);
    }


不是任何情况都会new的,所有的基本形也都类似。

最后,我没看动你说的
引用
还有,你觉得这两行代码有区别??
0 请登录后投票
   发表时间:2010-06-23   最后修改:2010-06-23
beneo 写道
首先呢,表激动

其次
    public static Integer valueOf(int i) {
        if(i >= -128 && i <= IntegerCache.high)
            return IntegerCache.cache[i + 128];
        else
            return new Integer(i);
    }


不是任何情况都会new的,所有的基本形也都类似。

最后,我没看动你说的
引用
还有,你觉得这两行代码有区别??


首先,

不是讨论 int>Integer 或Integer>int

讨论的是int>Double Integer>double

第二
IntegerCache.cache[i + 128];
不过是维持了个 Integer 对象在里面,这个维持的对象, 一样是 new 出来的。
###
   这里讨论的是, Java 在什么情况下 装箱或 拆箱,
   即,什么条件,将促使Java进行,装拆的行为?
###
至于怎么装,那不是问题。没有任何讨论价值。


0 请登录后投票
   发表时间:2010-06-23  
fyf_008 写道
beneo 写道
首先呢,表激动

其次
    public static Integer valueOf(int i) {
        if(i >= -128 && i <= IntegerCache.high)
            return IntegerCache.cache[i + 128];
        else
            return new Integer(i);
    }


不是任何情况都会new的,所有的基本形也都类似。

最后,我没看动你说的
引用
还有,你觉得这两行代码有区别??


首先,

不是讨论 int>Integer 或Integer>int

讨论的是int>Double Integer>double

第二
IntegerCache.cache[i + 128];
不过是维持了个 Integer 对象在里面,这个维持的对象, 一样是 new 出来的。
###
   这里讨论的是, Java 在什么情况下 装箱或 拆箱,
   即,什么条件,将促使Java进行,装拆的行为?
###
至于怎么装,那不是问题。没有任何讨论价值。




我好奇为啥就得讨论你的问题呢?
0 请登录后投票
   发表时间:2010-06-24  
fyf_008 写道


考你个问题。别说别个。


class A{
public static void m(Double d){
}

}
class B{
public static void m(double d){

}
}


能不能调用
A.m(12);

B.m(new Integer(12));

关键是why?



这种问题您也好意思考? 无非就是autoboxing,int能向上转型为double,而Integer不能转为Double
0 请登录后投票
   发表时间:2010-06-24   最后修改:2010-06-24
racnow 写道


这种问题您也好意思考? 无非就是autoboxing,int能向上转型为double,而Integer不能转为Double







看的懂我的解答而已。。。。不见得真知道。。。

0 请登录后投票
   发表时间:2010-07-24  
fyf_008 写道
racnow 写道


这种问题您也好意思考? 无非就是autoboxing,int能向上转型为double,而Integer不能转为Double







看的懂我的解答而已。。。。不见得真知道。。。



嗯,谢谢啊,还好是您让我学了这么高深的知识,您这种高人真是少见啊
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics