JQuery选择器大全   jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div")           选择所有的div标签元素,返回div元素数组 $(".myClass")      选择使用myClass类的css的所有元素 $("*&…
今天回忆了之前看的<深入理解C#>这本书中的泛型章节,其中对泛型的可变性的理解.泛型可变性分两种:协变和逆变.逆变也又称为抗变. 怎么理解这两个名词的意思: ①:协变即为在泛型接口类型中使用out标识的类型参数.协变的字面意思是“与变化的方向相同”②逆变那就是用in来标识的泛型接口类型的类型参数.逆变的字面意思是“与变化的方向相反” 需要注意的是无论是协变还是逆变也只能在泛型接口中来使用. 先来举个基本的例子,来加强你对可变性的理解.在C#中有隐式类型转换,比如: string str = &…
源码下载 一.里氏替换原则(Liskov Substitution Principle LSP) 我们要讲的不是协变性和逆变性(Covariance & Contravariance)吗?是的,没错.但先不要着急,在这之前,我们有必要再回味一下LSP.废话不多说,直接上代码: namespace LSP { public class Bird { public virtual void Show() { Console.WriteLine("It's me, bird.");…
Java 泛型 协变性.逆变性 @author ixenos 摘要:协变性.协变通配符.协变数组.协变返回值 协变性.逆变性和无关性 在面向对象的计算机程序语言中,经常涉及到类型之间的转换,例如从具体类小猫到动物之间的类型转换(上行转换),或者从形状向三角形之间的转换(下行转换). 协变性(covariance).逆变性(contravariance)和无关性(invariant).他们都是用来描述类型转换的性质的术语,形式化的描述如下: 如果A和B是类型,f表示类型转换,≤表示子类型关系,(例…
?协变性与逆变性是类型关系在范畴论的定义.是类型的继承关系在高阶类型中的定义? __kindof只是在统一继承体系下方便了类型转化,提供了使用时语法上的便捷:但是对于类型转换是否正确不做判定: kindDerived *derived = [self getInstance]; - (__kindof kindBase *) getInstance{ return [kindDerivedX new]; } 2.4 协变性与逆变性 因为有了泛型集合的概念,相比之前,我们的类型实际上更加复杂了,比…
作为一个从接触 Unity 3D 才开始学习 C# 的人,我一直只了解一些最基本.最简单的语言特性.最近看了<C# in Depth>这本书,发现这里面东西还真不少,即使除去和 Windows 编程相关的内容,只是兼容 Unity 的部分就够好好消化一阵子的.其中,令我非常头大的一组概念,就是协变性和逆变性(统称可变性). 一.可变性的概念 C# 一开始就支持数组的协变,听说是为了和 Java 竞争于是就把 Java 的这个不怎么样的特性给实现了.看如下代码, object[] myArray…
泛型的可变性:协变性和逆变性 实质上,可变性是以一种类型安全的方式,将一个对象作为另一个对象来使用. 我们已经习惯了普通继承中的可变性:例如,若某方法声明返回类型为Stream,在实现时可以返回一个MemoryStream.泛型可变性的概念与此相同,但要略微复杂一些.可变性应用于泛型接口和泛型委托的类型参数中,这一点必须引起注意. 可变性有两种类型:协变性和逆变性.二者概念基本相同,只是在上下文中转换的方向不同. 我们先从协变性开始,它通常要好理解一些. 协变性:从API返回的值 协变性用于向调…
首先看一个程序 package reverse; public class Reverse { public static void main(String[] args) { String c1=new String("abc"); String c2=new String("abc"); String c3=c1; System.out.println("c1==c2:"+ (c1==c2)); System.out.println(&quo…
原文:SQL点滴19-T-SQL中的透视和逆透视 透视 今天抽一点时间来看看透视和逆透视语句,简单的说就是行列转换.假设一个销售表中存放着产品号,产品折扣,产品价格三个列,每一种产品号可能有多种折扣,每一种折扣只对应一个产品价格.下面贴出建表语句和插入数据语句. ) 首先来看一条查询语句 order by ProductID,UnitPriceDiscount 这条语句查询每一种产品针对每一种折扣的价钱总和,查询结果如下图1 图1 从图中我们可以看出771号产品有4种折扣,747号产品有2种折扣…
Scala中的协变,逆变,上界,下界等 目录 [−] Java中的协变和逆变 Scala的协变 Scala的逆变 下界lower bounds 上界upper bounds 综合协变,逆变,上界,下界 View Bound <% Context Bound 参考文档 Scala中的协变逆变和Java中的协变逆变不一样,看起来更复杂. 本文对Scala中的这些概念做一总结.首先看几个概念: covariant 协变.使你能够使用比原始指定的类型的子类 Contravariance 逆变.使你能够使…
百度:委托中的协变和逆变. 百度:.net中的协变和逆变. 协变是从子类转为父类. 逆变是从父类到子类. 这样理解不一定严谨或者正确.需要具体看代码研究.…
Java泛型中的协变和逆变 一般我们看Java泛型好像是不支持协变或逆变的,比如前面提到的List<Object>和List<String>之间是不可变的.但当我们在Java泛型中引入通配符这个概念的时候,Java 其实是支持协变和逆变的. 看下面几行代码:   // 不可变 List<Fruit>fruits =newArrayList<Apple>();// 编译不通过 // 协变 List<?extendsFruit>wildcardFru…
连载目录    [已更新最新开发文章,点击查看详细] 协变和逆变都是术语,前者指能够使用比原始指定的派生类型的派生程度更大(更具体的)的类型,后者指能够使用比原始指定的派生类型的派生程度更小(不太具体的)的类型.泛型类型参数支持协变和逆变,可在分配和使用泛型类型方面提供更大的灵活性. 在引用类型系统时,协变.逆变和不变性具有如下定义. 这些示例假定一个名为 Base 的基类和一个名为 Derived的派生类. Covariance 使你能够使用比原始指定的类型派生程度更大的类型. 你可以向 IE…
原文地址 谈谈.Net中的协变和逆变 关于协变和逆变要从面向对象继承说起.继承关系是指子类和父类之间的关系:子类从父类继承所以子类的实例也就是父类的实例.比如说Animal是父类,Dog是从Animal继承的子类:如果一个对象的类型是Dog,那么他必然是Animal. 协变逆变正是利用继承关系 对不同参数类型或返回值类型 的委托或者泛型接口之间做转变.我承认这句话很绕,如果你也觉得绕不妨往下看看. 如果一个方法要接受Dog参数,那么另一个接受Animal参数的方法肯定也可以接受这个方法的参数,这…
DOM中元素节点.属性节点.文本节点的理解 节点信息 每个节点都拥有包含着关于节点某些信息的属性.这些属性是:nodeName(节点名称) nodeValue(节点值) nodeType(节点类型) nodeType nodeType 属性可返回节点的类型. 最重要的节点类型是: 元素类型 节点类型 元素(ELEMENT_NODE) 1 属性(ATTRIBUTE_NODE) 2 文本(TEXT_NODE) 3 注释(COMMENT_NODE) 8 文档(DOCUMENT_NODE) 9 在实际应…
1,问题 大家可以看到定义泛型类型的可以看到out和in这两个关键字,那么具体代表什么意思呢? 2,文字解释 C# 4.0通过两个关键字:out和in来分别支持以协变和逆变的方式使用泛型. 如果某个返回的类型可以由其派生类型替换,那么这个类型就是支持协变的 如果某个参数类型可以由其基类替换,那么这个类型就是支持逆变的. 3,具体代码 interface IClass<T> { } interface IClassOut<out T> { } interface IClassIn&l…
一 基本概念 可变类和不可变类(Mutable and Immutable Objects)的初步定义: 可变类:当获得这个类的一个实例引用时,可以改变这个实例的内容. 不可变类:不可变类的实例一但创建,其内在成员变量的值就不能被修改.其中String类就是不可变类的经典应用. 二 例子 package cn.xy.test; public class StringTest{ /**  * a的值在编译时就被确定下来,故其值"xy"被放入String的驻留池(驻留池在堆中)并被a指向.…
透视 今天抽一点时间来看看透视和逆透视语句,简单的说就是行列转换.假设一个销售表中存放着产品号,产品折扣,产品价格三个列,每一种产品号可能有多种折扣,每一种折扣只对应一个产品价格.下面贴出建表语句和插入数据语句.   1 create table SalesOrderDetail( 2 ProductID int /*unique多谢wuu00的提醒*/, 3 UnitPriceDiscount float, 4 ProductPrice float 5 ) 6  insert into Sal…
转载声明: 本文转载至:http://swiftlet.net/archives/1950 协变和逆变指的是宽类型和窄类型在某种情况下的替换或交换的特性.简单的说,协变就是用一个窄类型替代宽类型,而逆变则用宽类型覆盖窄类型. 协变 在Java中协变的例子非常常见,例如,面向对象的多态,以及数组的协变特性,下面看一下协变的例子: public class Test { public static void main(String[] args) { Number num1 = new Intege…
Java作为面向对象的典型语言,相比于C++而言,对类的继承和派生有着更简洁的设计(比如单根继承). 在继承派生的过程中,是符合Liskov替换原则(LSP)的.LSP总结起来,就一句话: 所有引用基类(父类)的地方必须能够透明地使用其子类的对象. LSP包含四层含义: ① 子类完全拥有父类的方法,且具体子类必须实现父类的抽象方法: ② 子类中可以增加自己的方法: ③ 当子类覆盖或实现父类的方法时,方法的形参要比父类方法的更加宽松: ④ 当子类覆盖或实现父类的方法时,方法的返回值要比父类方法的更…
Collections.reverse(list);  //实现List集合逆序排列…
You are given an integer array nums and you have to return a new counts array. The counts array has the property where counts[i] is the number of smaller elements to the right of nums[i]. Example 1: Input: nums = [5,2,6,1] Output: [2,1,1,0] Explanati…
Java源代码    package yly; import java.util.Scanner; public class ruanjian { public static void main(String[] args) { // TODO Auto-generated method stub String q = "how are you"; String[] aa=(String[]) q.split(" "); for(int i = aa.length…
public class Test3 { public static void main(String[] args) { int[] grade = {87,88,89,98,78}; int m; for(int i = 0; i < 2; i++){ m = grade[i]; grade[i] = grade[5-i-1]; grade[5-i-1] = m; } for(int j =0; j < 5; j++){ System.out.println(grade[j]); } }…
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/12166896.html 为什么引入齐次坐标的变换矩阵可以表示平移呢? - Yu Mao的回答 - 知乎 https://www.zhihu.com/question/26655998/answer/43847213为什么引入齐次坐标的变换矩阵可以表示平移呢? - Yu Mao的回答 - 知乎 https://www.zhihu.com/question/26655998/answer/438…
查询配件主数据表(tbl_part_base_info)的所有数据和配件是否有物料(物料表(tbl_material)中有配件主数据表的part_no,就表示有物料,反之,则表示没有物料),用sql中的case when...then...else...end来实现 第一种写法: select info.*,(case when material.part_no is null then '否' else '是' end) hasMaterial from tbl_part_base_info …
在上篇随笔<在Winform开发中使用日程控件XtraScheduler>中介绍了DevExpress的XtraScheduler日程控件的各种使用知识点,对于我们来说,日程控件不陌生,如OutLook里面就有日历的模块,但是这个日程控件真的是很复杂的一个控件,需要全面掌握可能需要花费很多的时间去了解,由于是技术研究,我总是希望把它常用的功能剖析的更加彻底一些,前面随笔也介绍了它的存储功能,把它基于实体类的方式存储在数据库里面,不过介绍的还不够,本文继续上面的内容,进行数据存储方面的介绍. 在…
a)  javascript中apply.call和bind的区别:http://www.cnblogs.com/cosiray/p/4512969.html b)  深入浅出 妙用Javascript中apply.call.bind   http://www.admin10000.com/document/6711.html ====================================================== 在JS中,这三者都是用来改变函数的this对象的指向的,他们…
转自:http://www.cnblogs.com/Jezze/archive/2011/12/23/2299861.html 简单归纳:fd只是一个整数,在open时产生.起到一个索引的作用,进程通过PCB中的文件描述符表找到该fd所指向的文件指针filp. open:文件描述符的操作(如: open)返回的是一个文件描述符(int fd),内核会在每个进程空间中维护一个文件描述符表, 所有打开的文件都将通过此表中的文件描述符来引用(fd1,fd2,fd3...); fopen:而流(如: f…
先说明一下: 如果第一个命令执行成功,与操作符 (&&)才会执行第二个命令 如果第一个命令执行失败,或操作符 (||)才会执行第二个命令 可以分析一下下面的命令的输出: #!/bin/sh " 下面是输出: pengdl@debian:~/test/shell$ ./sh5.sh 分析: echo "1"  执行成功,所以执行echo "2" echo "2" 执行成功,不执行 echo "3" 既然…