2015-09-10日问题

1.String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串 ??这里的字符串是String类的对象????

ctrl+左键单击valueOf()查看源码

 1  /**
 2      * Returns the string representation of the <code>boolean</code> argument.
 3      *
 4      * @param   b   a <code>boolean</code>.
 5      * @return  if the argument is <code>true</code>, a string equal to
 6      *          <code>"true"</code> is returned; otherwise, a string equal to
 7      *          <code>"false"</code> is returned.
 8      */
 9     public static String valueOf(boolean b) {
10         return b ? "true" : "false";
11     }

valueOf(boolean)方法的实质是:当你传入boolean类型的true时返回(常量池中)字符串对象"true"的引用。当你传入boolean类型的false时返回(常量池中)字符串对象"false"的引用。

(1).“将 boolean 变量 b 转换成字符串”对,实质是就是获取到了boolean变量对应字符串对象的引用。

(2).“这里的字符串是String类的对象????” 对

2.

 1 public class Person
 2 {
 3     public static void main(String[] args) {
 4
 5         String intstr="123";//装箱:将string类型数据赋值给包装类变量intstr???更准确的说法是:将常量池中对象("123")的引用赋值给String类型的引用变量intstr.
 6         System.out.println("装箱后="+intstr);//怎么输出结果是整形的?不是字符串类型的么???
 7         int it1=Integer.parseInt(intstr);//将intstr转换为int类型的??因为intstr是String类的变量,为何不是String.parseInt(intstr)???
 8         int it2=new Integer(intstr);//这是创建一个对象new Integer(),那new Integer(intstr)是向Integer构造方法中传一个整形instr?但是它的构造方法具体是什么,传参之后是怎么执行的怎么能知道?这里intstr是包装类,怎么能传入一个包装类作为一个实参来传参呢??
 9         System.out.println(it2);
10         String floatstr="456";
11         float ft1=Float.parseFloat(floatstr);//将floatstr转换为Float类型的???
12         float ft2=new Float(floatstr);//???
13         System.out.println(ft2);
14         String ftstr=String.valueOf(2.345f);
15         System.out.println("ftstr="+ftstr);
16         String dbstr=String.valueOf(3.344);
17         System.out.println("dbstr="+dbstr);
18         String boolstr=String.valueOf(true);
19         System.out.println("bool+"+boolstr.toUpperCase());
20          //TRUE是string变量????
21     }
22 }

(1)装箱:将string类型数据赋值给包装类变量intstr???

更准确的说法是:将常量池中对象("123")的引用赋值给String类型的引用变量intstr.而且String类,不是包装类!

(2)System.out.println("装箱后="+intstr);//怎么输出结果是整形的?不是字符串类型的么???

你是不是这么认为的:"装箱后="+intstr这是个字符串啊,为何我在控制台看到的是  装箱后123 ?看起来好像我传入了字符串类型但是输出的却是整数!

ctrl+左键println()方法查看源码

 1  /**
 2      * Prints a String and then terminate the line.  This method behaves as
 3      * though it invokes <code>{@link #print(String)}</code> and then
 4      * <code>{@link #println()}</code>.
 5      *
 6      * @param x  The <code>String</code> to be printed.
 7      */
 8     public void println(String x) {
 9         synchronized (this) {              //输出这个字符串到控制台
10             print(x);             //换行
11             newLine();
12         }
13     }

方法解释很清楚咯,是将你传入的字符串x打印到控制台。没有“输出整型”这种说法。

(3)int it1=Integer.parseInt(intstr);//将intstr转换为int类型的??因为intstr是String类的变量,为何不是String.parseInt(intstr)???

这是类的设计问题。Integer类被设计用来处理和int类型相关的操作。而String类被设计用来处理和字符串相关的操作。估计是设计者认为“将字符串形式的数字转化为int类型的数字”这个操作跟靠近int类型相关的操作。所以将这个方法写到了Integer类中。

(4.1)int it2=new Integer(intstr);//这是创建一个对象new Integer(),那new Integer(intstr)是向Integer构造方法中传一个整形instr?

是传递的一个String类型的引用instr,不是整形的instr哦。你不会是以为instr的类型被改变了把。。。

(4.2)但是它的构造方法具体是什么,传参之后是怎么执行的怎么能知道?

当你遇到new 对象()例如new Integer(intstr);这种形式的代码时,如果想查看对象的构造器,只需要。。。ctrl+左键单击 对象名(比如单击Integer)就可以查看到对应的构造器定义了,根据构造器的定义,就可以知道在传入参数后,这个构造器是如何定义的了。

下面是单击new Integer(intstr);中Integer时,查看到的构造器的定义:

 1  /**
 2      * Constructs a newly allocated {@code Integer} object that
 3      * represents the {@code int} value indicated by the
 4      * {@code String} parameter. The string is converted to an
 5      * {@code int} value in exactly the manner used by the
 6      * {@code parseInt} method for radix 10.
 7      *
 8      * @param      s   the {@code String} to be converted to an
 9      *                 {@code Integer}.
10      * @exception  NumberFormatException  if the {@code String} does not
11      *               contain a parsable integer.
12      * @see        java.lang.Integer#parseInt(java.lang.String, int)
13      */
14     public Integer(String s) throws NumberFormatException {
15         this.value = parseInt(s, 10);
16     }

(4.3)这里intstr是包装类,怎么能传入一个包装类作为一个实参来传参呢??

时间: 2024-11-05 04:53:55

2015-09-10日问题的相关文章

2015.09.10 hihoCoder(C++)

C++动态数组: 1. #include<malloc.h> …… int*array; array=(int*)malloc(n*sizeof(int)); 2. 8:      //用指针p指向new动态分配的长度为len*sizeof(int)的内存空间 9:      int   *p=new   int[len]; 3. 3:    #include<vector> 4:    using   namespace   std; 5:    int   main() 6: 

中级学员:2015年10月22日作业

中级学员:2015年10月22日作业一.采购管理1.采购管理的主要过程:2.工作说明书与范围说明书的区别:3.招投标程序是什么:4.采购审计的定义和内容.二.信息(文档)和配置管理1.文档从项目周期角度分为哪三类:2.图表编号规则,说明之:3.配置管理活动和流程:4.简述四种配置库及主要内容:5.简述配置项版本号标识的内容:6.功能配置审计包括哪些内容:7.物理配置审计包括哪些内容. 最晚提交时间:下次上课前. 提交方法:同学们按照要求完成作业,并发布在自己的51CTO博客,并将博文地址以评论的

中级学员:2015年10月27日作业

中级学员:2015年10月27日作业一.项目收尾管理1.项目收尾包括哪三方面内容?2.项目总结的意义;3.项目总结会包括哪些内容:4.项目评估包括哪些方面:5.项目审计的定义.6.一般项目人员转移的流程:二.知识产权管理1.著作权由哪3个要素组成:2.认定职务作品,考虑的前提有哪2个:三.法律法规和标准规范1.标准名称由哪4个要素组成:2.政府采购法,包括哪六种采购方法,以及每种的前提条件:3.教材中,把标准分为基础标准.开发标准.??标准和??标准.四.请背诵教材P180页项目管理知识体系,并

高级学员:2015年10月24日作业

高级学员:2015年10月24日作业一.信息安全系统和安全体系1.信息安全系统三维空间示意图中,X.Y.Z轴的名称,及它们各自包括的内容:2.MIS+S.S-MIS.S2-MIS的特点分别有哪些:二.信息安全风险评估1.什么是威胁:2.什么是脆弱性(弱点):3.什么是影响三.安全策略1.安全策略的核心内容是哪七定:2.<计算机信息安全保护等级划分准则>将信息系统分为哪5个安全保护等级,以及它们的适用范围:四.信息安全技术基础1.常见的对称密钥算法有哪些?它们的优缺点:2.常见的非对称密钥算法有

高级:2015年10月23日作业答案

高级学员:2015年10月23日作业一.业务流程管理与重组1.流程管理的本质与核心是什么: 流程管理的核心是流程,流程管理的本质就是构造卓越的业务流程.2.流程管理与BPR的区别: 流程管理是以一种规范化的构造端到端的卓越业务流程为中心,以持续的提高组织业务绩效为目的的系统化方法.与业务流程重组的定义相似.流程管理的思想包含了BPR,但比BPR的概念更广泛,更适合现实需要.3.业务流程改进的过程和方法中,分析问题用哪2个图:寻找原因用什么图. 分析问题采用头脑风暴法.矩阵图法,寻找原因用鱼骨图法

高级学员:2015年10月23日作业

高级学员:2015年10月23日作业一.业务流程管理与重组1.流程管理的本质与核心是什么:2.流程管理与BPR的区别:3.业务流程改进的过程和方法中,分析问题用哪2个图:寻找原因用什么图.4.流程的分析与设计方法是哪六条(只答小标题):5.BPR的首要问题是什么:6.BPR的实施会引起企业哪3个方面的变化.二.知识管理1.对于项目组织来说,什么是知识.2.隐性知识的共享方法有哪4条:三.项目整体绩效评估1.什么是3E审计:2.霍尔从哪3个维度考察系统工程.3.用什么分别解决:确定性.可测定的不确

中级学员:2015年10月20日作业

中级学员:2015年10月20日作业一.项目沟通管理:1.项目沟通管理包括哪些过程:2.沟通管理计划的主要内容:3.项目干系人管理的方法(12.6.2)二.项目合同管理:4.无效合同的五条:5.总价合同的特征,及签订前提条件:6.合同质量.履行地点.履行期限.履行费用不明确的,分别如何处理:7.合同管理的主要内容包括哪四条:8."公平合理"是合同变更的处理原则,变更合同价款按哪些方法进行:9.项目索培的程序,包括哪六步. 最晚提交时间:下次上课前. 提交方法:同学们按照要求完成作业,并

高级学员:2015年10月17日作业

高级学员:2015年10月17日作业: 1.要约.要约邀请.承诺的定义,及你的理解: 2.项目配置管理的任务.P319 3.配置项版本号规则是什么.15.5.2 4.写论文,按要求,摘要不超过400字,正文不超过2750字,请写以下2篇之一:范围管理.成本管理.请任写一篇,另一篇写提纲. 1.要约.要约邀请.承诺的定义,及你的理解: 要约是希望和他人订立合同的意思表示,该意思表示应当符合下列规定:(一)内容具体确定:(二)表明经受要约人承诺,要约人即受该意思表示约束.(投标文件属于要约,乙方想和

高项学员:2015年10月10日作业

高项学员:2015年10月10日作业1.下载<政府采购法实施例例>2015年新发布的,并看一下(这个不用写,下面的是写的)2.沟通管理计划包括哪些内容?3.风险管理中,负面风险. 正向风险的应对策略?4.采购管理中,包括哪些内容?最晚提交时间:2015年10月12日(下次上课前).提交方法:同学们按照要求完成作业,并发布在自己的51CTO博客,并将博文地址以评论的形式发布在老师布置作业的评论区

中项学员:2015年10月8日作业及下次上课时间调整通知

2015年10月8日作业及下次上课时间调整通知 1.10月13日晚上的课,调到10月11日晚上!2.2015年10月8日作业:(1)梳理出今晚讲的项目整体管理的重点:(2)梳理出今晚讲的项目范围管理的重点:字数不限,最晚提交时间:2015年10月10日. 提交方法:同学们按照要求完成作业,并发布在自己的51CTO博客,并将博文地址以评论的形式发布在老师布置作业的评论区