问题列表 - 第19507页

Java重写hashCode()获取StackOverflowError

所以我不太精通覆盖hashCode,我似乎有一些无限的递归以某种方式继续使用hashCode方法.

这是我的场景,我有一个类DuplicateCache,它是一个缓存对象,用于检查系统中的重复对象.我有一个静态内部类Duplicate,它表示Duplicate对象.

DuplicateCache维护一个HashMap来跟踪其所有条目.每个条目都包含一个Duplicate对象作为键,Long对象作为值.

我正在使用Duplicate对象键执行所有操作,当我将put方法运行到HashMap中时,Duplicate对象的hashCode()方法中会出现无限递归.

重复的hashCode()方法调用另一个我必须覆盖的类的hashCode,所以我将在之后包含它

不用多说了,这是我的违规复制类的代码:

public static class Duplicate{
    private String merchId;
    private String custId;
    private MagicPrice price;
    private int status;
    private boolean compareStatus;

// snip methods        

    @Override public boolean equals(Object o){
        cat.debug("In the override equals method of Duplicate"); //DELETEME

        if(o instanceof Duplicate)
            return equals((Duplicate) o);
        else
            return false;
    }

    @Override public int hashCode() {
        return merchId.hashCode() + custId.hashCode() + price.hashCode();
    }


    /*Equals method vital to the HashMap cache operations

    How the compareStatus and status fields change this:
    if …
Run Code Online (Sandbox Code Playgroud)

java stack-overflow overriding hashcode

2
推荐指数
1
解决办法
4937
查看次数

BlobProperty中的最大大小(appengine)

appengine中一个BlobProperty的最大大小是多少?我不是在谈论Blobstore API,我指的是属性类BlobProperty

请添加支持您的答案的链接

python google-app-engine

7
推荐指数
1
解决办法
2465
查看次数

将C#通用约束指定为ClassA或ClassB?

有没有办法指定泛型类型是一种类型还是另一种类型?

public class SoftDrink<T>
    where T : TypeOne or TypeTwo
{ }
Run Code Online (Sandbox Code Playgroud)

c# generics

8
推荐指数
1
解决办法
189
查看次数

模式:在功能退出时做一些优雅的方式?

我有一个逻辑函数,如下所示:

doStuff1()
try:
    doStuff2()
except type1:
    error1()
    return endstuff()
except type2:
    error2()
    return endstuff()
except:
    error3()
    return endstuff()

if doStuff3():
    error4()
    return endstuff()

doStuff4()
return endstuff()
Run Code Online (Sandbox Code Playgroud)

如您所见,endstuff()在函数的每个可能出口处完成.就像现在一样,endstuff()实际上是2行代码,我最近不得不在所有可能的退出中添加第三行代码.有没有更优雅的方式来组织这个代码?我不能只使用a finally,因为抛出异常的情况并非总是如此.

language-agnostic design-patterns coding-style

2
推荐指数
1
解决办法
157
查看次数

我需要一个遍历日期间隔的循环

我有开始日期和结束日期.我需要在这两个日期之间每天进行迭代.

最好的方法是什么?

我只能建议:

Date currentDate = new Date (startDate.getTime ());
while (true) {
   if (currentDate.getTime () >= endDate.getTime ())
      break;
   doSmth ();
   currentDate = new Date (currentDate.getTime () + MILLIS_PER_DAY);
}
Run Code Online (Sandbox Code Playgroud)

java algorithm date

7
推荐指数
2
解决办法
1万
查看次数

在python中以编程方式查找python.exe

可能重复:
在运行时获取python.exe路径

我有一个python应用程序,通过显式调用C:\ python25\python.exe启动其他应用程序,但如果用户安装了2.6或者将它安装到另一个位置,则这不起作用.exe的%PYTHON%变量,但这仅适用于安装Python的用户(其他用户没有此envvar集).

还有另一种查找此位置的方法吗?

python

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

CKEditor插件文档

我查看了CKEditor的网站,我注意到还没有插件文档.

但我想知道是否还有其他地方?

我想制作一个小插件来添加来自CKEditor的YouTube视频.非常简单的插件,但我仍然想知道如何制作它.

plugins ckeditor

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

将Nullable <DateTime>序列化为XML

我试图序列化一个类的几个数据成员是Nullable对象,这里是一个例子

[XmlAttribute("AccountExpirationDate")]
public Nullable<DateTime> AccountExpirationDate 
{ 
  get { return userPrincipal.AccountExpirationDate; } 
  set { userPrincipal.AccountExpirationDate = value; } 
}
Run Code Online (Sandbox Code Playgroud)

但是在运行时我得到了错误

无法序列化System.Nullable`1 [System.DateTime]类型的成员'AccountExpirationDate'.XmlAttribute/XmlText不能用于编码复杂类型.

但是我检查过Nullable是一个SerializableAttribute.我究竟做错了什么?

c# nullable xml-serialization

34
推荐指数
4
解决办法
3万
查看次数

使用Model-View-Presenter Pattern重定向页面的最正确方法

Response.Redirect在坚持正确的层分离的同时,在模型 - 视图 - 展示器模式中调用a的最佳方法是什么?

asp.net mvp redirect separation-of-concerns

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

sql server delete被索引大幅减速

我正在运行一个归档脚本,它根据输入的日期从大型(~50m记录DB)中删除行.日期字段是表上的聚集索引,因此我正在应用我的条件语句.

我在while循环中运行此删除,尝试批量处理1000到100,000条记录.无论批量大小,它都非常缓慢; 像10,000条记录一样被删除一分钟.查看执行计划,"索引删除"花费了大量时间.表中大约有15个字段,其中大约有10个字段具有某种索引.有什么方法可以解决这个问题吗?我甚至不确定为什么每个索引删除都需要这么长时间,有人可以了解到这里发生了什么?这是我执行计划的一个示例:

alt text http://img94.imageshack.us/img94/1006/indexdelete.png

(序列指向删除命令)

这个数据库是实时的,并且经常被插入,这就是为什么我对使用修剪大小的复制和截断方法犹豫不决.我在这里还有其他选择吗?

sql-server optimization stored-procedures sql-delete

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