1.List泛型集合 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace List泛型集合 { class Program { static void Main(string[] args) { // List<int> list = new List<int>(); list.Add…
基本类型的包装类 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean Number 数字类型包装类的抽象父类 她的子类: Byte,Short,Integer ,Long,Float,Double BigDecimal,BigInteger 取出被封装的基本类型值 byteValue(); shortValue(); intValue(); lon…
前言 之前对几个没什么理解,只是简单的用过可空类型,也是知道怎么用,至于为什么,还真不太清楚,通过整理本文章学到了很多知识,也许对于以后的各种代码优化都有好处. 本文的重点就是:值类型直接存储其值,引用类型存储对值的引用,值类型存在堆栈上,引用类型存储在托管堆上,值类型转为引用类型叫做装箱,引用类型转为值类型叫拆箱. 这一句话概括起来很简单,可是真正的理解起来却没那么简单,对于我来说吧. 值类型和引用类型 C#值类型数据直接在他自身分配到的内存中存储数据,而C#引用类型只是包含指向存储数据位置的…
  包的声明与定义 需要注意的是,包的声明只能位于Java源文件的第一行. 在实际程序开发过程中,定义的类都是含有包名的: 如果没有显式地声明package语句,创建的类则处于默认包下: 在实际开发中,这种情况是不应该出现的(示例代码主要展现的是功能部分的代码,所以在大多数示例代码中没有为示例指定包名). 如果有时候需要用到一个包中的许多类,则可以使用“import 包名.*; ”来导入该包下所有类. 对象转型 什么是对象转型 (1)数据类型转换 基本数据类型之间,在使用时可以进行类型转换. 其…
前景提要: 编写程序时,也许你不经意间,就不知不觉的使程序代码,发生了装箱和拆箱,从而降低了效率,不要说就发生那么一次两次,如果说是程序中发生了循环.网络程序(不断请求处理的)等这些时候,减少装箱和拆箱,是优化程序提高效率的一种途径.不仅跬步,无以至千里,不积小流,无以至江河.优化从点点滴滴做起. 一.装箱拆箱概念: 这里是官方定义:http://msdn.microsoft.com/zh-cn/library/yz2be5wk.aspx 装箱:值类型→引用类型 拆箱:引用类型→值类型 二.为什…
引言 为什么有装箱和拆箱,两者起到什么作用?NET的所有类型都是由基类System.Object继承过来的,包括最常用的基础类型:int, byte, short,bool等等,就是说所有的事物都是对象.如果程序中所有的类型操作用的是引用类型时,往往导致效率低下,所以.Net通过将数据类型分为值类型和引用类型. 前面文章中讲过: 值类型 定义:值类型是在栈中分配内存,在声明时初始化后才能使用,不能为null. a.整型:(Sbyte.Byte.Char.Short.Ushort.Int.Uint…
jdk5.0之后,在基本数据类型封装类之间增加了自动装箱和拆箱的功能,其实“自动”的实现很简单,只是将装箱和拆箱通过编译器,进行了“自动补全”,省去了开发者的手动操作. 而进行封装类与对应基本数据类型之间的转换,原因很简单: 基本类型转换为引用类型后,就可以new对象,从而调用包装类中封装好的方法进行基本类型之间的转换或者toString(当然用类名直接调用也可以,便于一眼看出该方法是静态的),还有就是如果集合中想存放基本类型,泛型的限定类型只能是对应的包装类型. 1.自动装箱 a).基本实现…
装箱:值类型-->引用类型. 拆箱:引用类型-->值类型 装箱:把值类型拷贝一份到堆里.反之拆箱. 具有父子关系 是拆装箱的条件之一. 所以: class Program { static void Main(string[] args) { //不是装拆箱 (类型转换) ; string s = Convert.ToString(n); //根据值在堆里创建,不是复制 int m = int.Parse(s); //是装拆箱 ; object o = x; int y = (int)o; }…
一 装箱和拆箱的概念 装箱是将值类型转换为引用类型 : 拆箱是将引用类型转换为值类型 : 值类型:包括原类型(Sbyte.Byte.Short.Ushort.Int.Uint.Long.Ulong.Char.Float.Double.Bool.Decimal).枚举 (enum) .结构 (struct). 引用类型:包括类.数组.接口.委托.字符串等,我们利用代码说明一下: ; object obj = n; Console.WriteLine("装箱之前的数字为{0},装箱之后的数字为{1}…
自动装箱和拆箱从Java 1.5开始引入,目的是将原始类型值转自动地转换成对应的对象.自动装箱与拆箱的机制可以让我们在Java的变量赋值或者是方法调用等情况下使用原始类型或者对象类型更加简单直接. 如果你在Java1.5下进行过编程的话,你一定不会陌生这一点,你不能直接地向集合(Collections)中放入原始类型值,因为集合只接收对象.通常这种情况下你的做法是,将这些原始类型的值转换成对象,然后将这些转换的对象放入集合中.使用Integer,Double,Boolean等这些类我们可以将原始…