Topic: Integer n=new Integer(16)什么意思 |
Print this page |
1.Integer n=new Integer(16)什么意思 | Copy to clipboard |
Posted by: Jakie Posted on: 2004-06-30 16:01 Integer n=new Integer(16)什么意思 |
2.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: jcompass Posted on: 2004-06-30 16:18 给n赋初值而矣! |
3.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: dodoflying Posted on: 2004-06-30 17:12 定义了一个Integer类型的对象 使用构造函数 public Integer(int value) Constructs a newly allocated Integer object that represents the specified int value. Parameters: value - the value to be represented by the Integer object. |
4.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: 心处理器 Posted on: 2004-07-01 17:10 将基本数据类型转换Wrapper类 这样16就是对象了 |
5.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: kjjx Posted on: 2004-07-03 17:38 16是对象吗?那么n算什么? |
6.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: zerol Posted on: 2004-07-03 17:49 (缩略图,点击图片链接看原图) |
7.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: windwalk Posted on: 2004-07-06 14:30 n是对象引用,16是对象 |
8.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: liuhaohrb Posted on: 2004-07-09 19:24 给 整型数 穿一个马甲变成 一个对象 |
9.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: railgunman Posted on: 2004-08-01 12:12 Integer n=new Integer(16) 16成了一个对象? 那么String str1=new String("JAVA") 其中的JAVA也成一个对象了? 这个也就是程序: public class StringTest{ public static void main(String[] args) { String str1="JAVA"; String str2=new String("JAVA"); if (str1==str2) System.out.println("相等") else System.out.println("不等"); } } 的执行结果是:不等 的原因吗? 迷惑! |
10.Re:Integer n=new Integer(16)什么意思 [Re: railgunman] | Copy to clipboard |
Posted by: skip Posted on: 2004-08-02 13:08 String str2=new String("JAVA"); 新创建了一个内容为"JAVA"的String 所以str1,str2实指向两个不同的对象 引用值当然不等拉。 railgunman wrote: |
11.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: skip Posted on: 2004-08-02 13:09 还有一点,看你的问题,我想你应该还没知道如果 要比较String的内容应该使用equals方法,而不是直接== |
12.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: railgunman Posted on: 2004-08-04 18:25 但是如果程序改为: public class StringTest{ public static void main(String[] args) { String str1="JAVA"; String str2="JAVA"; if (str1==str2) System.out.println("相等") else System.out.println("不等"); } } 为什么结果是“相等”呢? 难道是str1和str2都指向对象"JAVA"吗? |
13.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: Jakie Posted on: 2004-08-11 00:54 一塌糊涂! |
14.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: dyy11 Posted on: 2004-08-11 17:08 这样改一下 就正确了 public class StringTest{ public static void main(String[] args) { String str1="JAVA"; String str2=new String("JAVA"); if (str1.compareTo(str2)==0) System.out.println("相等") else System.out.println("不等"); } } 感觉原因出现在STR1==STR2 的==上 比较的是否是两边的值 还是其他什么 |
15.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: 519632 Posted on: 2004-08-11 17:14 新建一个Integer的对象,它的值是16 |
16.Re:Integer n=new Integer(16)什么意思 [Re: railgunman] | Copy to clipboard |
Posted by: 519632 Posted on: 2004-08-11 17:18 railgunman wrote: 这样声明str1和str2就不是对象了 对象的比较应该使用equals |
17.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: xiaopa Posted on: 2004-08-12 16:24 "JAVA"当然是对象!它是String类的一个实例,但它是常量实例,在编译过程中就被分配地址。而变量的地址分配是在执行过程完成的。同时+算符如果是常量间的运算话在编译过程中就被解析完成运算了,有变量的情况下则根据变量的类型不同解析成不同的算法,在执行过程中完成运算的。 请运行下面的程序,看看结果和你想的是否相同: public class BasicTest { public static void main(String[] args) { String str1 = "JA"; String str2 = "VA"; String str3 = "JA"+"VA"; String str4 = "JA" + str2; String str5 = str1 + "VA"; String str6 = str1 + str2; String str7 = str1 + str2; String str8 = new String("JAVA"); String str9 = new String("JAVA"); System.out.println("JAVA".getClass()); System.out.println(str1=="JA"); System.out.println(str2=="VA"); System.out.println(str3=="JAVA"); System.out.println(str4=="JAVA"); System.out.println(str5=="JAVA"); System.out.println(str6=="JAVA"); System.out.println(str4==str5); System.out.println(str5==str6); System.out.println(str6==str7); System.out.println(str8==str9); } } |
18.Re:Integer n=new Integer(16)什么意思 [Re: 519632] | Copy to clipboard |
Posted by: kjjx Posted on: 2004-08-12 17:01 519632 wrote: 调用str1.equals(str2)试试! |
19.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: 云火 Posted on: 2004-08-12 21:07 str2是“JAVA”的引用对象,用来指向“JAVA”这个字符串。而str1是一个字符串型的实例(变量),它有一个初值是“JAVA”。如果用“==”只是比较str1和str2的值,而str2只相当于一个指针并没有值,所以不等。但两个“JAVA”都是字符串,当用方法equals()就是比较的两个字符串,str2会自动指向“JAVA”,所以相等。 public class StringTest{ public static void main(String[] args) { String str1="JAVA"; String str2=new String("JAVA"); if (str1.equals(str2)) System.out.println("相等"); else System.out.println("不等"); } } |
20.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: shadow Posted on: 2004-08-30 21:08 我学JAVA才几天,但是我觉得楼上的说的最明白~~也最对! |
21.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: booolee Posted on: 2004-08-31 10:32 Integer(对象)是int(简单类型)的简单封装器 Integer n=new Integer(16) Integer:int简单封装器对象 n:Integer的引用变量名 =:赋值语句 new:创建Integer对象 Integer():Integer对象的构造函数(也许这么说你比较容易理解) 16:int型的常数而已 最终的结果是n成为了16的Ineger封装器对象的引用变量 |
22.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: april518 Posted on: 2004-09-11 21:44 简单的问题 延伸出这么多东西 有收获! |
23.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: babyone Posted on: 2004-09-12 11:25 在java中,有两种生成生成String类对象方法, 一种是 String str1=new String("java") 另一种是:String str2="java" 这两种生成的都是字符串对象,不过他们存放的位置不同而已,第一种是存放在内存中,而,第二种,是存放在字符串缓冲池中(String pool); 而且,还有一点要说明的是,比较运算符“==” 在java机制中,比较的是两个对象的内存地址,而,equal方法,则是比较两个对象的内容。 |
24.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: Jawen Posted on: 2004-09-21 10:26 好大的收获阿! |
25.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: alpacino Posted on: 2004-09-21 15:52 请注意 |
26.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: alpacino Posted on: 2004-09-21 16:19 String str1="JAVA";//这个赋植形式是将str1指向内存静态空间的“java”, String str2=new String("JAVA");//这个赋植形式是将str2指向内存动态空间的“java” 所以str1和str2实际上是指向2个不同的内存地址(java语言中虽然没有地址的操作,但实际上这些操作是由虚拟机代劳的,所以JAVA在执行程序时仍然存在地址这一说),这2个地址虽然都存放着“JAVA”,但“==”在做比较时,对基本数据类型是做“值”的比较,而str1和str2是2个对象,所以“str1==str2”是比较2个对象的“引用”(可以理解为地址)而不是“值”,要比较2个对象的“值”,就应该使用上面那位仁兄所说的“equals”方法。 “equals”方法属于“object”类,这个类是最高级的类(系统内置),可以理解为所有类的父类,所有的类都继承它的方法,在这个类里面,它已经定义了“equals”方法的含义,就是比较对象的值。在“string ”类里面,没有重置“equals”方法,所以“equals”可以比较对象的"值";而在”stringbufter“类里面,因为重置了“equals”方法,所以,对于”stringbufter“类的对象作比较而使用“equals”方法,实际还是比较的”引用“,这一点希望大家能注意。 |
27.Re:Integer n=new Integer(16)什么意思 [Re: alpacino] | Copy to clipboard |
Posted by: nothing Posted on: 2004-09-21 16:54 alpacino wrote: java弄得过度复杂了.... |
28.Re:Integer n=new Integer(16)什么意思 [Re: Jakie] | Copy to clipboard |
Posted by: april518 Posted on: 2004-09-23 15:44 babyone 讲德非常明白 3q! |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |