我认为这应该是一个非常简单的问题.但不知何故,我无法在谷歌找到答案.
假设我有2个字符串列表.首先包含"字符串A"和"字符串B",第二个包含"字符串B"和"字符串A"(按顺序通知差异).我想用JUnit测试它们以检查它们是否包含完全相同的字符串.
是否有任何断言检查忽略顺序的字符串的相等性?对于给定的示例org.junit.Assert.assertEquals抛出AssertionError
java.lang.AssertionError: expected:<[String A, String B]> but was:<[String B, String A]>
Run Code Online (Sandbox Code Playgroud)
解决方法是首先对列表进行排序,然后将它们传递给断言.但我希望我的代码尽可能简单和干净.
我使用Hamcrest 1.3,JUnit 4.11,Mockito 1.9.5.
我很难理解人物阅读在空白中是如何运作的.我能够运行Hello World程序.但现在我尝试从用户只读一个字符,然后在标准输出上打印它.我没有错误,一切编译得很好,但字符不会出现在输出上.我试图稍微调试它,但它在空白中真的很难,我相信它不会打印任何东西,因为我从用户读取的值是0(或null).
这是我如何阅读角色(我相信它是正确的方式)
start
end
Run Code Online (Sandbox Code Playgroud)
在这里打印的SSCCE(这应该工作,因为它几乎与Hello World项目中的相同.
start
end
Run Code Online (Sandbox Code Playgroud)
我使用的是Whitespace 0.3和Haskell Compiler 5.02版
我通过调用列出了系统中所有可用的字体
GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment();
Font[] fontNames = graphicsEnvironment.getAllFonts();
for (Font s : fontNames) {
System.out.println(s);
}
Run Code Online (Sandbox Code Playgroud)
在控制台上我可以看到很多字体,但列表看起来非常不完整.例如:我的操作系统已安装"系统"字体,但在输出中我看不到该字体:
...
java.awt.Font[family=Sylfaen,name=Sylfaen,style=plain,size=1]
java.awt.Font[family=Symbol,name=Symbol,style=plain,size=1]
java.awt.Font[family=Tahoma,name=Tahoma,style=plain,size=1]
...
Run Code Online (Sandbox Code Playgroud)
已安装的字体(对不起波兰操作系统):
这是为什么?
另一件事是在写字板中我可以看到"系统"字体.但是在MS Word 2010中,"系统"字体不可用.
问题不在于这种特殊的"系统"字体.Java中安装了几种但缺少的字体.
编辑:我为什么要问?我的应用程序使用BIRT Report Designer生成带有报告模板的.rpt文件.接下来,我使用这些文件来渲染Swing组件,如JLabel,JTextField等.主要问题是:用户可以使用使用Java Swing无法处理的字体的字段生成报告.
BIRT生成的示例xml文件的一部分:
<property name="fieldName">Blablabla{Label}</property>
<property name="fontFamily">"System"</property>
<property name="fontSize">16pt</property>
Run Code Online (Sandbox Code Playgroud)
我们的客户要求指定生成的报告和Java swing组件之间的字体不能有所不同.
我想要做的是处理Java中的所有系统字体或排除java无法处理的BIRT字体.
所以从星期六开始,我正在尝试使用VS2012设置MySQL Connector C++.我将留下它没有评论我必须下载1xx mb Boost libs只是为了从我的程序运行简单的查询大声笑.然而它不起作用.
问题是,即使我正确设置一切(从官方网站上的MySQL连接器手册)它也无法工作 - 因为我下载的最新软件包不包含手册中列出的文件.手动状态:
将lib/opt目录添加到Additional Library Directories文本字段中.这样可以找到库文件libmysql.lib.
但是没有libmysql.lib和/或libmysql.dll.
构建时我收到明显错误:错误LNK1181:无法打开输入文件'libmysql.lib'
如何设置此功能才能正常工作?
编辑:也许有人设置VS2012最近使用MySQL Connector C++?我以前需要安装MySQL Connector C吗?(我试过了,不行).我之前是否需要在我的comp上安装MySQL Server(我想要连接到外部服务器).
在我学习OCPJP8期间,我遇到了一个问题,对我来说没有非常明确的答案.考虑以下代码:
public class Animals
{
class Lamb implements Closeable
{
public void close()
{
throw new RuntimeException("a");
}
}
public static void main(String[] args)
{
new Animals().run();
}
public void run()
{
try (Lamb l = new Lamb();)
{
throw new IOException();
}
catch (Exception e)
{
throw new RuntimeException("c");
}
}
}
Run Code Online (Sandbox Code Playgroud)
根据书中正确答案的问题"代码会抛出哪个例外?" 是"没有被抑制的异常的运行时异常c".我在Eclipse中检查了这段代码,system.out表明这本书是对的.但是,我还修改了一些代码并在抛出RuntimeException"c"之前添加了以下system.out
System.out.println(e.getSuppressed().toString());
Run Code Online (Sandbox Code Playgroud)
我从这个system.out得到的输出是:
[Ljava.lang.Throwable; @ 75da931b
很明显有一个被抑制的例外.在调试模式下,我还发现这个被抑制的异常是close()方法中的一个.
两个问题:1.为什么控制台中没有关于close()方法抛出异常的信息?这本书的答案是否正确?
是否有任何特定的原因,为什么hashCode是Object类的唯一公共方法,它不遵循Sun推荐的Java代码约定以及后来的Oracle?我的意思是他们可以将它命名为toHashCode()或getHashCode()或createHashCode()对吗?
编辑:我谈论Java编程语言的代码约定(oracle.com/technetwork/java/codeconvtoc-136057.html).Oracle的书"OCA Java SE 7程序员I学习指南"(考试1Z0-803)(Oracle出版社) - Liguori,Robert'中引用了这些约定.
在文档中我们可以读作如下:"方法应该是动词,大小写混合,第一个字母小写,每个内部单词的首字母大写."
AFAIK哈希码不是动词.
以下Windows 95屏幕截图使用了什么字体,如何在CSS3中引用它(不对字母的边缘进行平滑处理)?
我有几个表的MySql数据库。每个表中的每个字段都不能为空。这就是为什么我被迫对@NotNull
我所有标有的Java类中的每个字段使用注释@Entity
。我真的必须这样做还是有办法告诉JPA / Hibernate默认将每个字段NotNullable对待吗?
编辑:我也知道@Column(name="something", nullable=false)
。但是,它仍然不能解决任何问题-您必须编写nullable=false
我正在寻找类似于<rich:popupPanel>
RichFaces 4的东西,但后来是RichFaces 3.我没有在文档中找到任何东西.只有<rich:modalPanel>
哪个不适合我的需求,因为它在表格中显示我的数据模型时遇到问题.选择不起作用,它始终不返回任何行.如果我把我的表组件放入<rich:panel>
或<rich:togglePanel>
,那么它工作正常.
<rich:modalPanel>
在RichFaces 3中是否有任何弹出窗口?
我需要C中的大数组来存储一些数据.我正在研究的事情与DNA测序有关.我正在使用Visual Studio 2013.
首先,我尝试使用全局静态变量
static oligo SPECTRUM[C1][C2]
Run Code Online (Sandbox Code Playgroud)
寡核苷酸结构含有8个整数,C1为100000和C2 500.
但是视觉上说阵列很大.然后我问Google,他说使用矢量是个好主意.所以我通过用下面的代码替换上面的代码来切换到这些
static std::vector<std::vector<oligo>> SPECTRUM;
Run Code Online (Sandbox Code Playgroud)
据说在使用之前调整矢量是一件好事,所以我做了:
SPECTRUM.resize(C1);
for (int i = 0; i < C1; i++)
{
SPECTRUM[i].resize(C2);
}
Run Code Online (Sandbox Code Playgroud)
但现在我在执行上面的代码时抛出了运行时异常(调整大小)
An unhandled exception of type 'System.Runtime.InteropServices.SEHException' occurred in ConsoleApplication1.exe
Run Code Online (Sandbox Code Playgroud)
在文件xmemory0中.视觉显示此处抛出异常
else if (((size_t)(-1) / sizeof (_Ty) < _Count)
|| (_Ptr = ::operator new(_Count * sizeof (_Ty))) == 0)
_Xbad_alloc(); // report no memory
Run Code Online (Sandbox Code Playgroud)
我还想让你知道,我的计算机上有4 GB RAM可用,我估计我的程序不应该使用超过1 GB的RAM.