Java基础之匿名内部类、包装类( 三 )
3.2 字符串与基本数据类型的转换包装类之中所提供的最大优点在于可以讲字符串变为制定的基本数据类型,下面列出几个操作:
Integer类:public static int parseInt(String s);
Double类:public static double parseDouble(String s);
Boolean类:public static boolean parseboolean(String s;
但是character这个包装类之中,并没有提供一个类似的parseCharacter(),因为字符串String类之中提供了一个charAt()方法,可以取得制定索引的字符,而且一个字符的长度就是一位 。
将字符串变为int
public class TestDemo{ public static void main(String args[]){String str = "16";int result = Integer.parseInt(str);//String ——>intSystem.out.println(result*result); }}
但是需要提醒的是,在执行这种转化的操作过程之中,字符串字符串中的全部内容必须由数字所组成,如果有一位内容不是数字,则在转化的过程之中讲出现如下的错误提示:NumbnerFormatException 。
将字符串变为double
public class TestDemo{ public static void main(String args[]){String str = "16.";double result = Double.parsedouble(str);//String ——>intSystem.out.println(result*result); }}
将字符串变为boolean型数据
public class TestDemo{ public static void main(String args[]){String str = "true";boolean result = Boolean.parseboolean(str);//String ——>intSystem.out.println(result); }}
提示:在使用Boolean型包装类的时候,如果字符串之中的内容不是true或者是false,统一都按照false处理 。
以上的操作是通过字符串变为一些基本类型的数据,但是反过来讲,基本数据类型如何变为字符串呢?
方式一:任何基本数据类型遇到了String之后都会变为String型数据;
public class TestDemo{ public static void main(String args[]){int num = 100;String str = num+"";//int——>String //会产生垃圾System.out.println(str.length()); }}//会有垃圾产生
方式二:利用String方法,public static String valueOf(数据类型 b)
public class BaoZhuangLei{ public static void main(String args[]){int num = 100;String str =String.valueOf(num);//int——>StringSystem.out.println(str.length()); }}
3.3 包的定义在Java程序之中的包,主要的目的是可以将不同功能的文件进行分割,在之前的代码开发之中,所有的程序都保存在了同一个目录之中,这样一来所带来的问题:如果出现了同名的文件,那么会发生覆盖问题,因为在同一个目录之中不允许有重名的文件,而在不同的目录下可以有重名文件,所谓的包实际上指的就是文件夹 。
package cn.mldn.demo;//定义包public class Hello{ public static void main(String args[]){System.out.println("Hello World"); }}
一旦定义完成之后,那么这个类的名字就成了“cn.mldn.demo.Hello”,即这既是完整的类名称,而在进行程序编译的时候也需要将*.class文件保存在包之中,于是为了方便开发,那么也就提供了一个打包的编译操作 。
打包编译:javac -d . 类.java
-d:表示生成目录,根据package定义生成
-“.”:再当前目录下生成*.class
类.java:编译源程序代码
这个时候类的名字必须带上包的名称,所以执行类的时候:java cn.mldn.demo.Hello,也就是说完整类的名称就是“包.类”,而在所有的开发之中,没有包的类是绝对不存在的,只要是程序一定要有包 。
3.4 包的导入既然使用包可以将一个大型的程序拆分成不同的功能目录保存,那么这些不同的包之间也一定会存在包的导入问题,而导入包在程序之中使用import完成,下面通过一个程序进行演示 。
//定义一个Messagepackage cn.mldn.util;//打包class Massage{ public String print(){return "Hello World"; }}
//定义另外一个类使用Message类package cn.mldn.text;//打包import cn.mldn.util.Message;//导入包public class Text{ public static void main(String args[]){Massage msg = new cn.mldn.util.Massage();System.out.println(msg.print()); }}
这个时候上面的两个类应该是按照顺序编译:
应该首先编译Message.java程序:javac –d . Message.java;
再次编译Test.java程序:javac –d . Test.java,但是这个时候出现了一下的错误提示:
Text.java:5: 错误: Massage在cn.mldn.util中不是公共的; 无法从外部程序包中对其进行访问Massage msg = new cn.mldn.util.Massage();^
提示:关于public class 和class定义类的区别
Public class:文件名和类名称保持一致,在一个*.java文件之中只能存在一个public class定义,如果一个类要想被外部包所访问必须定义为public;
Class:文件名称可以和类名称不一致,在一个*.java之中可以同事存在多个class定义,并且编译完成之后会形成多个*.class文件,使用class定义的类只能够在一个包中访问,不同包之间无法访问 。
推荐阅读
- 腌肉晒之前要不要清洗
- 花边的常用材料有哪些
- 有关持之以恒的五件事例 古人持之以恒的故事及寓意
- 40岁是什么之年
- 蒸肉糕窍门
- 3d4d5d6d的区别
- 刘翠霞简介
- 详述狮身人面像的可怕之谜
- 云南省瑞丽市疫情防控 双重压力之下的瑞丽
- 洋芋怎么做好吃又简单
