所以我不太精通覆盖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) appengine中一个BlobProperty的最大大小是多少?我不是在谈论Blobstore API,我指的是属性类BlobProperty
请添加支持您的答案的链接
有没有办法指定泛型类型是一种类型还是另一种类型?
public class SoftDrink<T>
where T : TypeOne or TypeTwo
{ }
Run Code Online (Sandbox Code Playgroud) 我有一个逻辑函数,如下所示:
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,因为抛出异常的情况并非总是如此.
我有开始日期和结束日期.我需要在这两个日期之间每天进行迭代.
最好的方法是什么?
我只能建议:
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) 可能重复:
在运行时获取python.exe路径
我有一个python应用程序,通过显式调用C:\ python25\python.exe启动其他应用程序,但如果用户安装了2.6或者将它安装到另一个位置,则这不起作用.exe的%PYTHON%变量,但这仅适用于安装Python的用户(其他用户没有此envvar集).
还有另一种查找此位置的方法吗?
我查看了CKEditor的网站,我注意到还没有插件文档.
但我想知道是否还有其他地方?
我想制作一个小插件来添加来自CKEditor的YouTube视频.非常简单的插件,但我仍然想知道如何制作它.
我试图序列化一个类的几个数据成员是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.我究竟做错了什么?
Response.Redirect在坚持正确的层分离的同时,在模型 - 视图 - 展示器模式中调用a的最佳方法是什么?
我正在运行一个归档脚本,它根据输入的日期从大型(~50m记录DB)中删除行.日期字段是表上的聚集索引,因此我正在应用我的条件语句.
我在while循环中运行此删除,尝试批量处理1000到100,000条记录.无论批量大小,它都非常缓慢; 像10,000条记录一样被删除一分钟.查看执行计划,"索引删除"花费了大量时间.表中大约有15个字段,其中大约有10个字段具有某种索引.有什么方法可以解决这个问题吗?我甚至不确定为什么每个索引删除都需要这么长时间,有人可以了解到这里发生了什么?这是我执行计划的一个示例:
alt text http://img94.imageshack.us/img94/1006/indexdelete.png
(序列指向删除命令)
这个数据库是实时的,并且经常被插入,这就是为什么我对使用修剪大小的复制和截断方法犹豫不决.我在这里还有其他选择吗?
c# ×2
java ×2
python ×2
algorithm ×1
asp.net ×1
ckeditor ×1
coding-style ×1
date ×1
generics ×1
hashcode ×1
mvp ×1
nullable ×1
optimization ×1
overriding ×1
plugins ×1
redirect ×1
sql-delete ×1
sql-server ×1