问题列表 - 第1930页

你如何处理java中的"超级"泛型?

采用以下泛型示例

import java.util.List;
import java.util.ArrayList;

public class GenericsTest {
    private List<Animal> myList;

    public static void main(String args[]) {
        new GenericsTest(new ArrayList<Animal>()).add(new Dog());
    }

    public GenericsTest(List<Animal> list) {
        myList = list;
    }

    public void add(Animal a) {
      myList.add(a);
    }

    public interface Animal {}
    public static class Dog implements Animal {}
    public static class Cat implements Animal {}
}
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是如你所知,你不能用它构建它

new GenericsTest(new ArrayList<Dog>());
Run Code Online (Sandbox Code Playgroud)

因为,如你所知,add(Animal)可以添加Cats.该建议解决这个问题的方法,即使用通配符也不管用,因为,是的,你可以改变每一个List<Animal>List<? extends Animal>却有着同样的问题:你可以创建GenericsTestList<Cat>再添加Dog秒.

所以我的问题是:有没有一种方便的方法来编写这个类一次,然后将它用于所有可能的Animals …

java generics

5
推荐指数
1
解决办法
2405
查看次数

你如何在企业编码环境中生存?

我在一家小型软件商店工作,内部产品和外部咨询.在过去的几年里,我一直在办公室里与其他一些极客一起工作.相当悠闲和富有成效.几乎完美的编码条件:

  • 好的设备
  • 安静,专注的团队房间,有几个开发人员都在同一个项目上
  • 自由使用我们想要的任何工具
  • 敏捷过程
  • 每个人都是开发人员(甚至是老板)
  • 明确要求与实际范围
  • 真正热衷于此的热情,热情的人

然而,最近我改变了项目并进入了一个嵌入大公司网站的外部咨询团队,其中包含所有由此产生的官僚BS和管理费用:

  • 不断中断
  • 大声的开放式小隔间环境
  • 设备慢
  • 沉重,繁琐的过程(即使他们称之为"敏捷")
  • 限制性的IT环境
  • 缓慢,过于复杂,有限的工具
  • 模糊的要求.似乎没有人知道发生了什么
  • 愤世嫉俗的团队.平均和平庸的客户联系人的混合依赖

这让我疯了.

那么这艘船上的其他人怎么做才能保持理智呢?

corporate-policy

9
推荐指数
4
解决办法
783
查看次数

迭代集合,在循环中删除对象时避免使用ConcurrentModificationException

我们都知道你不能这样做:

for (Object i : l) {
    if (condition(i)) {
        l.remove(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

ConcurrentModificationException等等......这显然有时起作用,但并非总是如此.这是一些特定的代码:

public static void main(String[] args) {
    Collection<Integer> l = new ArrayList<>();

    for (int i = 0; i < 10; ++i) {
        l.add(4);
        l.add(5);
        l.add(6);
    }

    for (int i : l) {
        if (i == 5) {
            l.remove(i);
        }
    }

    System.out.println(l);
}
Run Code Online (Sandbox Code Playgroud)

当然,这会导致:

Exception in thread "main" java.util.ConcurrentModificationException
Run Code Online (Sandbox Code Playgroud)

...即使多线程没有这样做......无论如何.

什么是这个问题的最佳解决方案?如何在循环中从集合中删除项而不抛出此异常?

我也在Collection这里使用任意,不一定是ArrayList,所以你不能依赖get.

java iteration collections

1158
推荐指数
12
解决办法
46万
查看次数

无法链接静态库C++

我已经想出如何设置VC++来将代码编译成.lib文件而不是.exe,但是我无法将lib与我的其他.obj文件链接在一起.

这是我如何设置库和应用程序文件夹.(我不确定这是不对的)

AppFolder
  App.sln
  App.ncb
  *.h
  *.cpp
  Debug
    *.obj
    App.exe
Run Code Online (Sandbox Code Playgroud)

和硬盘上的其他地方......

LibraryFolder
  lib
    Library.lib
  include
    LibrarySolutionFolder
      Library.sln
      Library.ncb
      *.h
      *.cpp
      Debug
        *.obj
        Library.lib
Run Code Online (Sandbox Code Playgroud)

我一直在#include我的应用程序的cpp文件中的库*.h文件,一切都编译得很好.只是当它链接时,我得到一个正在搜索的所有.lib文件的列表,并且即使我在VC++目录中列出了Library.lib,它也不在那里.我怎样才能将其链接起来?(我是否正确构建了库文件夹?)

c++ linker static

3
推荐指数
1
解决办法
6938
查看次数

LINQ to SQL实体和数据上下文类:业务对象封装

您最喜欢将LINQ to SQL实体类和数据上下文类封装到业务对象中的方法是什么?

你发现在特定情况下工作了什么?

您是否已经发明或采用任何特定模式?

linq-to-sql c#-3.0

13
推荐指数
1
解决办法
9405
查看次数

内联禁用Firefox拼写检查?

我刚刚研究过这个,不记得怎么做了.我希望能够阻止Firefox在页面内的某些输入字段上运行它的拼写检查功能.我知道这是可能的,但不记得如何设置它.

firefox spell-checking html-input

31
推荐指数
3
解决办法
7798
查看次数

从字符串创建类的实例

有没有办法根据我在运行时知道类的名称来创建类的实例.基本上我会在字符串中有类的名称.

.net c# instantiation system.type

198
推荐指数
5
解决办法
25万
查看次数

从共享实用程序窗口和最前面的文档窗口绑定的好方法是什么?

我有一个应用程序,允许打开多个NSDocuments.在此应用程序中是一个单一的实用程序窗口,其中包含我想要应用于最前面的文档的一些功能.

我试图在这里使用绑定,所以诀窍是如何干净地将实用程序窗口的用户界面绑定到最前面的文档.目标是然后切换最前面的文档窗口将更新实用程序窗口中的视图; 当文档模型中的状态发生变化时,绑定到最前面文档模型属性的控件将被适当更新.

要从这样的窗口发送动作,只需使用第一响应者即可; 文档对象可以通过响应者链拦截动作.但我想要更多,当然你不能绑定第一响应者.

我有一些想法:

  • 在我的nib中为对象窗口放置一个对象控制器.当文档窗口更改最前面的状态时,更改该绑定的内容.这样做的一个缺点是,如果我要使用另一种实用程序窗口,我必须记住将文档窗口中的绑定连接到该实用程序窗口!
  • 在应用程序委托中创建一个访问器,通过遍历窗口列表获取最前面的文档窗口.我的实用程序窗口将通过应用程序委托的方法绑定.这里的缺点是它不符合KVO
  • 在应用程序委托中有一个getter和setter来确定(并且可能设置为KVO兼容?这有意义吗?)最前面的文档.当窗口失去主要状态时,也许使用窗口通知将ivar设置为适当的值.更新:我现在正在使用它,它实际上看起来很干净.我设置为从价值windowDidBecomeMain我的文档窗口的通知,并清除它(如果它是当前值)windowWillClose.除非有任何重大异议,否则这可能是我将使用的方法.
  • 一个想法是绑定到mainWindow.windowController.document ...这很接近,除了当我的共享窗口变为main时,这个绑定就会消失.所以我真的需要找到最前面的文档窗口的控制器(以及正确的类).

这些似乎都不对.有没有更好的方法来做到这一点,我错过了?

cocoa key-value-observing cocoa-bindings

12
推荐指数
1
解决办法
973
查看次数

生成光谱调色板

有没有一种简单的方法来转换Java(RGB,HSV和Lab)中的颜色模型.

假设RGB颜色模型:

  • 如何计算黑体光谱调色板?我想将它用于热图图表.
  • 单波长光谱怎么样?

编辑:我发现ColorSpace类可用于RGB/CIE和许多其他颜色模型之间的转换.

java colors

14
推荐指数
2
解决办法
3万
查看次数

业务逻辑在大型winforms应用程序中入侵UI

我看到这个主题现在不止一次出现.我希望那些目前处于类似情况或过去的人可以提供一些有见地的建议.如果您也分享过去的经历可能会有用.

因此,这些相当大的Windows窗体应用程序已经开发了多年.虽然开发团队已经尝试将业务逻辑与UI分离,但它并没有完全发生,并且代码中有许多区域,其中业务逻辑硬连接到UI.实际上,在很多地方都可以看到以前尝试采用MVP架构的残余.还有单元测试,但代码覆盖率相对较低.然而,有一些热点 - 每个人都知道的领域变得越来越复杂,他们必然需要.

很多时候,只有当测试人员拿起他们的火炬灯并且真正开始寻找不幸的太晚,昂贵且有风险的错误时,才会发现可能早先发现的错误.工程师,测试人员和PM--都意识到需要做些什么.

什么是最实际的方法来解决这种情况,或改善这种情况?由于这将是一项长期任务,衡量目标进展的最佳方法是什么?如何以客观的术语来定义目标?

.net unit-testing

8
推荐指数
2
解决办法
606
查看次数