//Byte Short Integer Long Float Double [前六个父类为Number] Character Boolean
除Character 其它封装类型都可以转换字符串
封装类型与基本类型可以互换,但可能出现空指针异常
字符串转成基本类型是,可能出现数字格式化异常
packageJiHe;importjava.util.concurrent.atomic.AtomicIntegerArray;publicclassMyNumber{//封装类型,能与字符串进行转换,除character外int i =10;//基本类型 不能= nullInteger a =null;//引用类型 可以= nullpublicvoidtest(){System.out.println(i);System.out.println(a);a =10;i = a;//封装引用类型 与 基本类型是可以相互转换的 //实际上 i = a.intValue(); 调用了封装类型转基本类型System.out.println(i);}publicstaticvoidmain(String[] args){newMyNumber().test();int a =newInteger("12");//可以将数字字符串转换成数据类型,不是数字字符串不能转System.out.println(a +10);double d =Double.parseDouble("12.345");//加上a后,编译正常,运行异常,去除后正常System.out.println(d*10);//封装类型中 只有 Character 例外,不能与字符进行互相转换// char c = new Character("c");//不能转// c = Character.parse//报错newFloat("1.1");Float.parseFloat("1.1");//常用此转换Float fff =newFloat("11.0");float ff = fff.floatValue();//封装类型转基本类型newByte("1");Byte.parseByte("1");newShort("2");Short.parseShort("2");boolean bb =newBoolean("true1");//除了字符串true,其余字符串转换 都是falseSystem.out.println(bb);}}
泛型(<限制的类型>)的作用
限制类型录入
避免强制转换出错
//1.泛型集合packageJiHe;publicclassDog{privateString color;privateString strainString2;privateint age;//构造方法publicDog(String color,String strainString2,int age){super();this.color = color;this.strainString2 = strainString2;this.age = age;}publicStringgetColor(){return color;}publicvoidsetColor(String color){this.color = color;}publicStringgetStrainString2(){return strainString2;}publicvoidsetStrainString2(String strainString2){this.strainString2 = strainString2;}publicintgetAge(){return age;}publicvoidsetAge(int age){this.age = age;}@OverridepublicStringtoString(){return"Dog [color="+ color +", strainString2="+ strainString2 +", age="+ age +"]";}}------------------------------------------------------------------------------------------------------------------------packageJiHe;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.Scanner;publicclassTestDog{publicstaticvoidmain(String[] args){System.out.println("请输入狗的数量");Scanner input =newScanner(System.in);int num =0;try{num = input.nextInt();}catch(Exception e){input.next();num =5;}ArrayList<Dog> dogList =newArrayList();//<内容为所限制的 类型> 泛型,限制了集合中数据的录入//循环添加狗for(int i =0; i < num ; i ++){System.out.println("狗的姓名:");String strainString = input.next();System.out.println("狗的年龄");int age = input.nextInt();System.out.println("狗的毛色:");String colorString = input.next();dogList.add(newDog(colorString, strainString, age));}//计算狗的平均年龄int sumAge =0;// for(Object obj : dogList) {// Dog dog = (Dog)obj; // sumAge += dog.getAge();// }for(Dog dog : dogList){System.out.println(dog);sumAge += dog.getAge();}System.out.println("---------------------------------");dogList.forEach(dog ->System.out.println(dog));//jdk1.8以后的方法System.out.println("---------------------------------");double avgAge = sumAge *1.0/ dogList.size();System.out.println("平均年龄"+ avgAge);}}*********************************************************************************2.泛型类
packageJiHe;publicclassShow<T>{//泛型类:使得变量类型灵活publicT t;publicTgetT(){return t;}publicvoidsetT(T t){this.t = t;}publicstaticvoidmain(String[] args){// 1.可以传任意类型// Show show = new Show<>();// show.setT("好好学习");// System.out.println(show.getT());// 2.限制Show<Integer> show =newShow<>();show.setT(1);System.out.println(show.getT());}}
packageJiheTest;publicclassEq2Stu{privateString name;privateint age;privateString color;publicEq2Stu(){super();}@OverridepublicStringtoString(){//Idea与eclipse显示有区别return"{"+"name='"+ name +'\''+", age="+ age +", color='"+ color +'\''+'}';}publicEq2Stu(String name,int age,String color){this.name = name;this.age = age;this.color = color;}publicStringgetName(){return name;}publicvoidsetName(String name){this.name = name;}publicintgetAge(){return age;}publicvoidsetAge(int age){this.age = age;}publicStringgetColor(){return color;}publicvoidsetColor(String color){this.color = color;}}---------------------------------------------------------packageJiheTest;importjava.util.List;importjava.util.ArrayList;publicclassEq2{publicstaticvoidmain(String[] args){List<Eq2Stu> lstList =newArrayList();Eq2Stu stu =newEq2Stu("张三",22,"11");lstList.add(stu);lstList.add(newEq2Stu("张三",11,"22"));lstList.add(newEq2Stu("张四",22,"211"));lstList.add(newEq2Stu("张五",33,"244"));lstList.add(newEq2Stu("张六",44,"334"));lstList.add(newEq2Stu("张七",55,"1234"));System.out.println(lstList.remove(1));System.out.println(lstList.size());System.out.println(lstList.get(1));}}
3.产生50个随机数,将随机数转换成整数,奇数添加到集合中
packageTest;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;publicclassEq3{publicstaticvoidmain(String[] args){List<Integer> lstList =newArrayList();for(int i =0; i <50; i++){int num =(int)(Math.random()*1000);// System.out.println(num);if(num %2!=0){lstList.add(num);}}System.out.println(lstList);}}