如何按价值比较两张地图?我有两个包含相等值的地图,并希望通过它们的值进行比较.这是一个例子:
Map a = new HashMap();
a.put("foo", "bar"+"bar");
a.put("zoo", "bar"+"bar");
Map b = new HashMap();
b.put(new String("foo"), "bar"+"bar");
b.put(new String("zoo"), "bar"+"bar");
System.out.println("equals: " + a.equals(b)); // obviously false
Run Code Online (Sandbox Code Playgroud)
[[ 编辑:有人请编辑并修复此问题,以表示其实际意味着什么.上面的代码打印"true",而不是"false".]]
显然,要实现比较并不困难,只需比较所有键及其相关值即可.我不相信我是第一个这样做的人,所以必须已经有一个库函数在java或jakarta.commons库中.
谢谢
我正在使用Gradle Android模块创建一个Android项目,但是一旦我创建它,我就会出现一个我不明白的错误,我不知道如何解决它.它说
Gradle项目同步失败.基本功能(例如编辑,调试)将无法正常工作"或"Gradle'myapp'项目刷新失败:发生致命异常.程序将会退出.:Gradle设置
如果你知道导致这个问题的原因或者你已经遇到过这个问题,请告诉我该怎么做.
在我的服务中,某个月的最后一天有哪些功能?
DateFormat format = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
Date date = format.parse(stringDate);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.DATE, -1);
Date lastDayOfMonth = calendar.getTime();
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(lastDayOfMonth);
Run Code Online (Sandbox Code Playgroud)
所以,这种方法在其他地方正确使用,但在美国最后一天总是29(最后一天 - 1)
stringDate是格式为"yyyy-MM-dd"的日期
我有一个函数,它接受字符向量作为输入并返回不一致的结果。如果输入中没有 NA,它将返回“翻译”值的命名向量。如果输入中有 NA,它将返回一个列表。与 NA 对应的列表元素将为 NULL,名称为 NA。
\n\n这是重新创建的列表:
\n\nfoo <- list(a=1, b=2, c=NULL)\nnames(foo) <- c("a", "b", NA)\nRun Code Online (Sandbox Code Playgroud)\n\n我想要的是一个缺失值中包含 NA 的向量:
\n\nc(1, 2, NA)\nRun Code Online (Sandbox Code Playgroud)\n\n然而,简单的unlist()\xe2\x80\x93 不起作用,NULL 元素消失。我尝试了以下方法:
foo <- lapply(foo, function(x) if(is.null(x)) NA else x)\nnames(foo) <- NULL\nunlist(foo)\nRun Code Online (Sandbox Code Playgroud)\n\n这有效。然而, foo 相当大(数万个元素),并且上面的代码似乎相当慢。有更好的解决方案吗?
\n我正在编写JUnit测试,并希望有一个Outlook电子邮件收件人,这个收件人将永远成功,而另一个收件人总是会因为无法投递而反弹.
对于"总是成功",我认为相当于SMTP NUL:会有所帮助.
(我不想使用我的真实电子邮件地址有两个原因:1)我不希望每次有人运行测试床时都会收到测试电子邮件2)如果我的雇主,我不想让回归测试开始失败决定取消我的职位和电子邮件地址.)
对于"总是弹跳",我想我可以使用im.a.nut@mycompany.com,但是如果Nut先生加入MyCompany,那么对于一种更加可靠的技术是开放的.
随着"永远反弹",我将不胜感激任何关于如何以及在何处寻找"系统无法传送"消息的想法.我应该使用测试电子邮件帐户吗?或者也许是一个模拟反弹消息的模拟框架?
编辑:根据http://www.oracle.com/technetwork/java/faq-135477.html#bounce,退回邮件是标准化的,但没有广泛实施.电子邮件地址验证独立于JavaMail.这是我如何回答最后一段中的问题.测试电子邮件帐户可能需要一些时间才能收到消息,我不想阻止无法保证交付的消息.嘲弄可能更有意义.
我是Spring的初学者,我试图通过阅读分散在互联网上的一些代码来学习它.当我查看这些代码的pom.xml时,我几乎总会看到人们使用"spring-core"和"spring-context"作为该项目的附加依赖项.当我查看依赖层次结构时,我发现spring-core已经在spring-context中了.
所以我的问题是:是否有必要同时使用它们?"spring-core"中的"spring-core"和作为单独工件的"spring-core"之间是否有区别?
我正在使用TreeSet并找到了一个ClassCastExceptionwhile调用TreeSet#add()方法.
码:
public class Testing {
public static void main(String[] args) {
TreeSet<Testing> ts = new TreeSet<>();
ts.add(new Testing());
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
Exception in thread "main" java.lang.ClassCastException: Testing cannot be cast to java.lang.Comparable
at java.util.TreeMap.compare(TreeMap.java:1290)
at java.util.TreeMap.put(TreeMap.java:538)
at java.util.TreeSet.add(TreeSet.java:255)
at Testing.main(Testing.java:13)
Run Code Online (Sandbox Code Playgroud)
显然,这是因为它TreeSet是一个有序的集合,它需要Comparable对象来订购它们,所以为什么不将它的类型声明为
public class TreeSet<E extends Comparable<E>>
Run Code Online (Sandbox Code Playgroud)
并在编译期间进行检查而不是在运行时抛出异常?
1-
def fib1(n):
a = 0
b = 1
while a < n:
print b
a = b
b = a+b
Run Code Online (Sandbox Code Playgroud)
2-
def fib2(n):
a, b = 0,1
while a < n:
print b
a,b = b, b+a
Run Code Online (Sandbox Code Playgroud)
执行时:
fib1(10) 我得到了错误的答案: 0 1 2 4 8
fib2(10) 我得到了正确的答案: 0 1 1 2 3 5 8
java ×4
python ×2
android ×1
calendar ×1
collections ×1
compare ×1
dictionary ×1
eclipse ×1
email ×1
equals ×1
generics ×1
gradle ×1
java-6 ×1
junit ×1
maven ×1
mocking ×1
outlook ×1
python-2.7 ×1
python-3.x ×1
r ×1
spring ×1
treeset ×1
unit-testing ×1