<vns86a>www.lebo19.com娱乐场归于啥品种呢?

A是B的子类,为什么List&A&就不是List&B&的子类?_问答_ThinkSAAS
A是B的子类,为什么List&A&就不是List&B&的子类?
A是B的子类,为什么List&A&就不是List&B&的子类?
如题。为什么会是这样呢?
因为都是List类,又没有继承关系
对象的继承代表了一种‘is-a’的关系,如果两个对象A和B,可以表述为‘B是A’,则表明B可以继承A。继承者还可以理解为是对被继承者的特殊化,因为它除了具备被继承者的特性外,还具备自己独有的个性。
父类和子类,或叫做基类和派生类,其中子类继承父类的所有特性,同时还定义新的特性。
注意对比的对象
A是B的子类 是A与B在比较
而List&A&是List&B&的子类 是List与List进行比较
你可以通过List&? extend b&这样的定义 来进行限定操作
List&A&的子类是
class XXX extends List&A&
Java里的泛型是通过类型擦除来实现的
Java中的泛型基本上都是在编译器这个层次来实现的。在生成的Java字节码中是不包含泛型中的类型信息的。使用泛型的时候加上的类型参数,会在编译器在编译的时候去掉。这个过程就称为类型擦除。
List &A& 和 List &B& 在编译完成以后,实际上指向的是同一份字节码
并不存在 List &A& 或者 List &B& 这2种类型 ,当然就更谈不上什么子类的问题了.
以下仅供参考 我C++不熟
你不是和C++模板搞混了?
C++的泛型实现方式不同
在C++中 确实会为 List &A& 和 List &B& 生成2个class
因为List&A&.class不成立。
一大堆回答都没讲到重点啊。。我来加点内容。这里涉及到两个概念:协变与逆变。(Covariance vs. Contravariance)
简言之,如果List&S&复合类型是协变的,那么如果S是T的子类,则List&S&也是List&T&的子类。如果List&S&是逆变的,结果颠倒,List&T&会变成List&S&的子类。
但是Java里的泛型不实现以上两种行为的任意一种。。Java的泛型是不变的(Invariance)。
为什么这么设计呢?先看一个数组的例子。在Java中,数组是协变的,于是Integer[]就是Number[]的子类了。于是我们能写出这样的代码:
Integer[] a = new Integer[3];
Number[] b = // a的类型是Integer[],是Number[]的子类
b[0] = 3.14; // 运行时错误
Java的类型安全(Type Safety)的保证已经被破坏了。Java会把数组的元素应有类型保存起来(Reification),保证能在运行时检测到这种非法操作。
假设List是协变的,那么如下把Float放进Integer的代码:
List&Integer& li = new ArrayList&Integer&();
List&Number& ln = // li的类型是List&Integer&,属于List&Number&的子类
ln.add(new Float(3.1415)); // 不会有错误
就能运行。而也提到,Java的泛型采用了类型擦除,这样就没法保证List里会不会被塞进一个Float,因为在运行时List看到的全都是Object。因此为了防止这类事情发生,Java的泛型是不变的。
那有没有办法在Java里用上协变或者逆变的泛型呢?答案是肯定的,需要在声明里加wildcard:
// 1.协变范例
List&? extends Number& num = new List&Double&();
// 2.逆变范例
List&? super Number& num = new List&Object&();
但是在第一种情况中就不能呼叫参数里带有?的函数了,例如:
class Container&E& {
public set(E data) {
this.data =
public E get(E data) {
// 某方法中
Container&? extends Number& num = new Container&Double&();
num.set(new Float(3)); // 编译时错误
这里同样是为了保证Type Safety。不能把Float传给Container&Double&。
同理,在逆变的时候就不能呼叫返回值带?的函数,除非接受返回值的变量类型是Object。
Container&? super Number& num2;
Number res = num2.get(); // 编译时错误
部分来源:
添加你想要问的问题
PHP开发框架
开发工具/编程工具
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
官方1群:【已满】
让ThinkSAAS更好,把建议拿来。
关注微信,更好学习HTML5:&a&的ping属性之死亡ping与隐私追踪
您当前位置: &
[ 所属分类
| 时间 2015 |
作者 红领巾 ]
在中&a& 标签加入了一个新的属性ping。设计者加入它的理由是, Ping可以使浏览器对外发送一个异步请求,通常用来广告的追踪、点击率统计或完成一次HTTP重定向。
但是听到监视、追踪这个词,你是不是也觉得有点不舒服,所以Ping这个属性真的是很不受欢迎。浏览器一度抵制、进而加入默认关闭必须从如config这样的选项中打开才可以使用,到现在我从上还没有追寻到哪个浏览器支持它,但在我测试中最新版Chrome44是默认支持Ping的。
一、Ping的用法
Ping的用法很简单,这里举一个例子。
&a href="" ping="/track"&click me&/a&
当你点击click me的时候,会异步发送一个POST请求到Ping后面指定的地址,Request Body的内容为PING。有人可能会说,那&a ping="/track"&click me&/a&这段代码行不行?答案是否定的,href这个属性必须存在与&a&中,不然Ping也是不会运行的。
二、死亡之PING
根据Ping发送POST请求这个特性,我们可以使用循环使之不停的向一个地址追加POST请求,造成DOS攻击。
&script& var link = document.createElement('a'); link.href=""; link.ping = '/'; document.head.appendChild(link); link.click(); &/script&
运行上面的代码,就会不停的向发送POST请求。
请运行在线DEMO: DOS.html
{chrome}
三、隐私追踪
Ping可以进行广告追踪,它可以统计用户都点击了哪些链接以及次数,并使用POST请求把这些信息发送到广告商的服务器上。那么POST的这些信息都包含了什么呢,简单来说HTTP Header的内容都会有,我们来看一个截获的完整信息
HOST: CONTENT-LENGTH: 4ORIGIN: PING-FROM: http://****.com/js6/read/readhtml.jsp?mid=458:xtbBygBMgFO+dvBcvQAAsM&font=15&color=064977USER-AGENT: Mozilla/5.0 ( NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0. Safari/537.36PING-TO: /CONTENT-TYPE: text/pingACCEPT: */*REFERER: http://****.com/js6/read/readhtml.jsp?mid=458:xtbBygBMgFO+dvBcvQAAsM&font=15&color=064977ACCEPT-ENCODING: gzip, deflateACCEPT-LANGUAGE: zh-CN,q=0.8COOKIE: sessionid=rnbymrrkbkipn7byvdc2hsem5o0vrr13CACHE-CONTROL: max-age=0CONNECTION: keep-alive
PING-FROM、USER-AGENT、REFERER这三个关键信息,直接泄漏了用户的隐私。而这也为我们最爱的XSSSHELL又提供了一个小插件。对于图片探针如果没了新鲜感,那么请试试Ping探针吧,简单的一句&a href="" ping=&就搞定!
追踪这事是攻击者的最爱,我简单做了一个DEMO,打开aping.html这个页面,点击后,你会前往wathwg,并且我异步重定向了下w3.org,但同时你的HTTP Header/IP就被我获取到了。你可以通过这个链接查看截获到的信息,Ping.html。
请访问在线DEMO: aping.html
把PING归结为探测用户隐私的范畴一点也不为过。这其实不怪设计者,Ping的最初设计理念,是为了使得广告统计更加方便简洁,哪怕是它的重定向功能,也是为了在异步请求的情况下使用户整体提高访问页面速度的快感。但是这仿佛也无法遮掩住PING的潜在探测用户隐私的特性。也许这就是PING的先天性缺陷。
HTML5中,&a&标签多了几个属性,如download/ping。2012年时,我在百度HI写了一篇《HTML5 A[download] 攻击模型》,就对当时download的攻击思路做了简单的分析,可惜百度HI关闭了,download那篇也石沉大海,但三年下来,再看那篇文章,当时提出的一些攻击点,浏览器也已经做了相应的防御,从中看到了攻防对抗的变化和浏览器厂商的激进与妥协。
这种感悟是挺好的,你可以对应着如笔记般的进行标注,这些变化是什么、为什么这么变等等,我觉得应该时不时的把前些年的文章拿出来,和现在的形式对比下,有些东西不得不从这种长时间轴的总结和更新中才能得出结论来,比如10年间消失的10种WEB攻击、浏览器厂商的激进与妥协、10年后WEB是什么样的……
* 作者/xisigr,属原创奖励计划文章,未经许可禁止转载
转载请注明本文标题:本站链接:
分享请点击:
1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
治疗拖延症最好的方法就是立刻开始。
手机客户端
,专注代码审计及安全周边编程,转载请注明出处:http://www.codesec.net
转载文章如有侵权,请邮件 admin[at]codesec.net求大神jquery获取&ul&&li&&a&&/a&&/li&&/ul&值有关问题
&来源:读书人网&【读书人网():综合教育门户网站】
求大神jquery获取ullia/a/li/ul值问题就是这样的ul idnamenlia idact nameacth
求大神jquery获取&ul&&li&&a&&/a&&/li&&/ul&值问题就是这样的&ul&id="namen"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&li&&a&id="act"&name="act"&&href="#"&7&/a&&/li&&&&&&&&&&&&&&&&&&&li&&a&href="#"&&/a&&/li&&&&&&&&&&&&&&&&&&&li&&a&href="#"&&/a&&/li&&&&&&&&&&&&&&&&&&&li&&a&href="#"&&/a&&/li&&&&&&&&&&&&&&&&&&/ul&我要获取a标签里面的我试过用$("#namen&li").find("a").text();$("#namen&li").find("a").val();,$("#namen&li").atrr("a").text();,$("#namen&li").find("#act").text();等等来获取都取不到a的值最悲剧的是连在&ul&11111&/ul&的111都取不到,请问下该怎么获取.
[解决办法]&!DOCTYPE&HTML&PUBLIC&"-//W3C//DTD&HTML&4.0&Transitional//EN"&&html&&head&&meta&http-equiv="Content-Type"&content="text/&charset=UTF-8"&/&&title&&New&Document&&/title&&script&type="text/javascript"&src="http://www.oschina.net/js/2012/jquery-1.7.1.min.js"&&/script&&/head&&body&&ul&id="namen"&&&&&&li&&a&id="act"&name="act"&&href="#"&7&/a&&/li&&&&&&li&&a&href="#"&&/a&&/li&&&&&&li&&a&href="#"&&/a&&/li&&&&&&li&&a&href="#"&&/a&&/li&&/ul&&script&&&&&$('#namen&li&a').each(function(){&&&&&&&&alert($(this).html())&&&&})&/script&&/body&&/html&[解决办法]&!DOCTYPE&HTML&PUBLIC&"-//W3C//DTD&HTML&4.0&Transitional//EN"&&html&&head&&meta&http-equiv="Content-Type"&content="text/&charset=UTF-8"&/&&title&&New&Document&&/title&&script&type="text/javascript"&src="http://www.oschina.net/js/2012/jquery-1.7.1.min.js"&&/script&&/head&&body&&ul&id="namen"&&&&&&li&&a&id="act"&name="act"&&href="#"&7&/a&&/li&&&&&&li&&a&href="#"&&/a&&/li&
&&&&&li&&a&href="#"&&/a&&/li&&&&&&li&&a&href="#"&&/a&&/li&&/ul&&script&&&&&/*$('#namen&li&a').each(function(){&&&&&&&&alert($(this).html())&&&&})*/&&&&//获取全部A标签内容&&&&alert($('#namen&li&a[id="act"]').html())&//至获取7&/script&&/body&&/html&怎么去除在点击&a&标签是出现地四周点线呢?_百度知道
怎么去除在点击&a&标签是出现地四周点线呢?
以下这两种方法用说了...各位朋友谁还好方法.!~!~a{blr.onFocus=this:expression(this.blur()) }&&nbsp...俺都试过了?感谢相告~..行滴;去除超链接时出现周虚线方法outline-style
提问者采纳
去除虚线框虽然点击时候好看点过对键盘用户利; &nbsp.ready(function() {&nbsp.之前也取消过虚线框&$(&#39.;).focus(function() {& && &nbsp.blur();&})})
查看原帖&a&#39.;过后来又还原了 保持虚线框.用jQuery选择a标签 原理都样$(document); &&&nbsp
其他类似问题
为您推荐:
amp的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁正则求助,关键字替换URL时避免已被&a&标签包裹的词 - 技术问答_百度知道
正则求助,关键字替换URL时避免已被&a&标签包裹的词 - 技术问答
有两个数组。比如说whis is the keyword you wantgooglekeyword程序会把这里面的keyword也一并替换,我就不知道怎么办了;''b\&#92,第一个$search = array(&#92,可以把单独的keyword都替换掉;\);第二个$replace = array(\然后我要把文章内所有keyword替换成Keyowrd一般来说用preg_replace就可以了,显然都是不允许的求避免以上问题的正则;bkeyword\Keyowrd\),但是遇到keyword已经包含在里面的;''&#92
提问者采纳
先用preg_replace进行一般情况的处理2我给个思路吧1,再去匹配每个a标签里的href和title,然后使用preg_replace_callback进行替换回调函数的功能是把href和titile里面的字符串进行strip_tags
查看原帖&&gt
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 lebo利博国际 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信