List <Dog>是List <Animal>的一个子类吗? 为什么不是Java的generics隐式多态?

我对Javagenerics如何处理inheritance/多态性有些困惑。 假设以下层次结构 – 动物 (家长) 狗 – 猫 (儿童) 所以假设我有一个方法doSomething(List<Animal> animals) 。 按照所有inheritance和多态的规则,我会假定一个List<Dog> 是一个List<Animal> ,一个List<Cat> 是一个List<Animal> – 所以任何一个都可以传递给这个方法。 不是这样。 如果我想实现这种行为,我必须明确地告诉方法通过说doSomething(List<? extends Animal> animals)接受动物子集的doSomething(List<? extends Animal> animals) 。 我明白这是Java的行为。 我的问题是为什么 ? 为什么多态一般是隐含的,但是当涉及到generics时,必须指定它?

在ListView中延迟加载图像

我正在使用ListView来显示与这些图像相关的一些图像和标题。 我正在从互联网上获取图像。 有没有办法延迟加载图像,所以当文本显示,用户界面没有locking,图像显示为他们下载? 图像总数不固定。

在VBA中查找上次使用的单元格时出错

当我想find最后使用的单元格值时,我使用: Dim last_row As Integer Dim LastRow As Long LastRow = Range("E4:E48").End(xlDown).Row Debug.Print LastRow 当我把一个元素放入一个单元格时,我得到了错误的输出。 但是,当我把多个值放入单元格时,输出是正确的。 这背后的原因是什么?

在Java中重写equals和hashCode时应该考虑什么问题?

当重写equals和hashCode时,必须考虑哪些问题/陷阱?

什么是在JavaScript中深入克隆对象的最有效方法?

什么是克隆JavaScript对象最有效的方法? 我见过obj = eval(uneval(o)); 正在使用,但这是非标准的,只有Firefox支持 。 我做了像obj = JSON.parse(JSON.stringify(o)); 但质疑效率。 我也看到recursion复制function与各种缺陷。 我很惊讶没有规范的解决scheme存在。

在将图像加载到Bitmap对象时出现内存不足的问题

我有一个列表视图与每行上的几个图像button。 当您单击列表行时,它将启动一个新的活动。 由于相机布局的问题,我不得不build立自己的选项卡。 为结果启动的活动是一张地图。 如果我点击我的button启动图像预览(从SD卡加载图像),应用程序从活动返回到listview活动的结果处理程序重新启动我的新活动,这不过是一个图像小部件。 列表视图上的图像预览正在使用游标和ListAdapter 。 这使得它非常简单,但我不知道如何可以放置一个resize的图像(即小图像大小不是像素的图像button的src ,所以我只是调整了手机相机的图像。 问题是,当它尝试返回并重新启动第二个活动时,出现内存不足错误。 有没有一种方法,我可以轻松地逐行build立列表适配器,在哪里我可以在飞行( 位智者 )resize? 这将是更可取的,因为我也需要对每一行中的部件/元素的属性进行一些更改,因为焦点问题,我无法select带触摸屏的行。 ( 我可以使用滚球。 ) 我知道我可以做一个带外resize和保存我的图像,但这不是我想要做的,但一些示例代码将是很好的。 只要我在列表视图中禁用图像,它再次正常工作。 仅供参考:我是这么做的: String[] from = new String[] { DBHelper.KEY_BUSINESSNAME,DBHelper.KEY_ADDRESS,DBHelper.KEY_CITY,DBHelper.KEY_GPSLONG,DBHelper.KEY_GPSLAT,DBHelper.KEY_IMAGEFILENAME + ""}; int[] to = new int[] {R.id.businessname,R.id.address,R.id.city,R.id.gpslong,R.id.gpslat,R.id.imagefilename }; notes = new SimpleCursorAdapter(this, R.layout.notes_row, c, from, to); setListAdapter(notes); 其中R.id.imagefilename是一个ButtonImage 。 这是我的LogCat: 01-25 05:05:49.877: ERROR/dalvikvm-heap(3896): 6291456-byte external allocation too […]

如何在Android应用程序中的活动之间传递数据?

我有一个场景,通过login页面login后,每个activity都会有一个注销button 。 在点击登出时,我会传递login用户的session id来注销。 任何人都可以指导我如何保持session id可用于所有activities ? 任何替代这种情况

我如何从PHP中提取JSON数据?

这是一个普遍的参考问题和答案,涵盖了许多永无止境的“我如何在我的JSON中访问数据?” 的问题。 这里是处理在PHP中解码JSON的基本知识,并访问结果。 我有JSON: { "type": "donut", "name": "Cake", "toppings": [ { "id": "5002", "type": "Glazed" }, { "id": "5006", "type": "Chocolate with Sprinkles" }, { "id": "5004", "type": "Maple" } ] } 我如何解码这在PHP中,并访问结果数据?

什么是堆栈跟踪,以及如何使用它来debugging我的应用程序错误?

有时当我运行我的应用程序,它给我一个错误,看起来像: Exception in thread "main" java.lang.NullPointerException at com.example.myproject.Book.getTitle(Book.java:16) at com.example.myproject.Author.getBookTitles(Author.java:25) at com.example.myproject.Bootstrap.main(Bootstrap.java:14) 人们称之为“堆栈轨迹”。 什么是堆栈跟踪? 什么可以告诉我关于我的程序中发生的错误? 关于这个问题 – 我常常会遇到一个问题,那就是新手程序员在“得到一个错误”的地方,他们只是简单地粘贴他们的堆栈跟踪和一些随机代码块,而不理解堆栈跟踪是什么或者他们如何使用它。 这个问题是作为一个新手程序员的参考,他们可能需要帮助理解堆栈跟踪的价值。

我在哪里可以find关于在JavaScript中格式化date的文档?

我注意到JavaScript的new Date()函数在接受多种格式的date方面非常聪明。 Xmas95 = new Date("25 Dec, 1995 23:15:00") Xmas95 = new Date("2009 06 12,12:52:39") Xmas95 = new Date("20 09 2006,12:52:39") 在调用new Date()函数时,我无法在任何地方find显示所有有效string格式的文档。 这是将string转换为date。 如果我们看另一面,也就是将date对象转换为string,直到现在,我还是觉得JavaScript没有内置API来将date对象格式化为string。 编者注:以下方法是提问者在特定浏览器上的尝试,但一般不起作用; 看到在这个页面上的答案 ,看到一些实际的解决scheme。 今天,我在date对象上使用了toString()方法,而且令人惊讶的是,它将date格式化为string。 var d1 = new Date(); d1.toString('yyyy-MM-dd'); //Returns "2009-06-29" in Internet Explorer, but not Firefox or Chrome d1.toString('dddd, MMMM ,yyyy') //Returns "Monday, June 29,2009" in Internet Explorer, […]