今天我们学习一下scala中的列表,List. 通过源码,我们可以发现,List类型是协变的,所以我们可以把Int类型的List赋值给Any型的List. 我们可以看到,List定义下有3个比较重要的方法,isEmpty,head,tail isEmpty,判断列表是否为空:head为List的第一个元素:tail为list除第一个元素的其它元素列表. 另外,List的两个非常重要的继承者,它们就是::和Nil. ::列表连接. Nil为空列表,所以head,tail操作都会抛出异常. 分享下更…
.NET 泛型解析 一.问题背景 我们在编程的时候往往因为需要处理不同类型的数据或者对象,重复编写很多类似的代码,造成代码的冗余,代码也显得不那么优雅,泛型的出现,正好是为了解决这个问题,实现继承. 示例,如下是一个现实输入值类型的类: public class FanXing    {        public void F(int i)        {            Console.WriteLine(i+"是Int类型");        } } 调用: class…
一.集合总结 集合:Collection体系.Map体系. Collection体系:单列集合的共性操作规则. List:列表,可以重复,有下标,拥有特有的迭代器ListIterator. ArrayList:底层是可变数组.增删慢,查询快.不安全 LinkedList:底层是链表结构,增删快,查询慢.不安全.有头和尾,特有的头尾操作的方法.可以模 拟数据结构(堆栈.队列). Vector:底层是可变数组,增删,查询都慢.安全.被ArrayList代替. Enumeration:它是古老的迭代器…
一.集合总结 集合:Collection体系.Map体系. Collection体系:单列集合的共性操作规则. List:列表,可以重复,有下标,拥有特有的迭代器ListIterator. ArrayList:底层是可变数组.增删慢,查询快.不安全 LinkedList:底层是链表结构,增删快,查询慢.不安全.有头和尾,特有的头尾操作的方法.可以模 拟数据结构(堆栈.队列). Vector:底层是可变数组,增删,查询都慢.安全.被ArrayList代替. Enumeration:它是古老的迭代器…
LinqToDB框架是一个轻量级的ORM框架.当然,功能上来讲一定比不上Entity Framework的强大.但是在使用上总让笔者感觉有一点Entity Framework的影子.笔者想过可能的原因有俩点:一是DataContext类的作用跟DbContext的作用很接近:二是都实现Linq查询的功能.那么DataContext类到底在LinqToDB框架里面算什么呢?笔者把DataContext类理解为这个框架的上下文--用于驱动整个LinqToDB框架.所以本章也是为DataContext…
---------- android培训.java培训.期待与您交流! ---------- 一.泛型 (一)泛型概述 1.泛型:JDK1.5版本以后出现的新特性,用于解决安全问题,是一个类型安全机制. 2.泛型技术是给编译器使用的技术,用于编译时期,确保类型的安全. 3.泛型的擦除:运行时,会将泛型去掉,生成class文件中的是不带泛型的,这个称为“泛型的擦除”.擦除泛型的原因是为了兼容运行时的类加载器. 4.泛型的好处:(1)将运行时期出现的问题ClassCastException,转移到了…
上一章 我们分析了Cocos2d-x的内存管理,主要解剖了 Ref.PoolManager.AutoreleasePool这三个类,了解了对象是如何自动释放的机制.之前有一个类 Node经常出现在各种场合,不是做为参数就是做为返回值,那么这一章节我们就去看看这个Node类到底在Cocos2d-x里处于一个什么样的地位. 直接进入主题,我们打开CCNode.h文件.我去,这个文件有1500行,这么长怎么看啊,放松一下整体看过一遍,松了一口气,还好,还没那么糟,文件虽然大,注释占了有90%的篇幅,代…
using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> ///TestTableModel 的摘要说明 /// </summary> public class TestTableModel { public int D_Id { get; set; } public string D_Name { get; set; } public str…
反射帮助类 using System; using System.Reflection; using System.Data; using System.Drawing; using System.Resources; using System.ComponentModel; using System.Text; using System.IO; namespace Core.Common { /// <summary> /// 反射辅助类 /// </summary> publi…
我们都知道 JVM 在启动的时候会去加载类信息,那么我们怎么得知他加载了哪些类,又卸载了哪些类呢?我们这一节就来介绍四个 JVM 参数,使用它们我们就可以清晰地知道 JVM 的类加载信息. 为了方便演示,我们使用下面的程序作为本次的演示程序. /** * @author chenshuyi * @date 2018.09.30 */ public class ClassLoadDemo { public static void main(String[] args) { String name…