小编kuk*_*kis的帖子

AssertEquals 2列表忽略顺序

我认为这应该是一个非常简单的问题.但不知何故,我无法在谷歌找到答案.

假设我有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.

java arrays junit unit-testing assertion

65
推荐指数
5
解决办法
6万
查看次数

如何用空白语言阅读字符

我很难理解人物阅读在空白中是如何运作的.我能够运行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版

haskell input whitespace-language

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

Java无法在系统中看到所有已安装的字体

我通过调用列出了系统中所有可用的字体

    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字体.

java fonts birt awt

12
推荐指数
3
解决办法
6252
查看次数

MySQL连接器c ++ 1.1.3不包含libmysql.lib

所以从星期六开始,我正在尝试使用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(我想要连接到外部服务器).

c++ mysql visual-studio-2012

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

在Closable.close()中抛出运行时异常

在我学习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()方法抛出异常的信息?这本书的答案是否正确?

java exception ocpjp

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

为什么Object.hashCode()不遵循Java代码约定

是否有任何特定的原因,为什么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哈希码不是动词.

java coding-style hashcode

4
推荐指数
2
解决办法
170
查看次数

在网页上使用Windows 95字体

以下Windows 95屏幕截图使用了什么字体,如何在CSS3中引用它(不对字母的边缘进行平滑处理)? 在此处输入图片说明

html css fonts windows-95

4
推荐指数
2
解决办法
5921
查看次数

在JPA / Hibernate中默认为@NotNull

我有几个表的MySql数据库。每个表中的每个字段都不能为空。这就是为什么我被迫对@NotNull我所有标有的Java类中的每个字段使用注释@Entity。我真的必须这样做还是有办法告诉JPA / Hibernate默认将每个字段NotNullable对待吗?

编辑:我也知道@Column(name="something", nullable=false)。但是,它仍然不能解决任何问题-您必须编写nullable=false

java hibernate jpa nhibernate-mapping

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

RichFaces 3的RichFaces 4 <rich:popupPanel>的等价物

我正在寻找类似于<rich:popupPanel>RichFaces 4的东西,但后来是RichFaces 3.我没有在文档中找到任何东西.只有<rich:modalPanel>哪个不适合我的需求,因为它在表格中显示我的数据模型时遇到问题.选择不起作用,它始终不返回任何行.如果我把我的表组件放入<rich:panel><rich:togglePanel>,那么它工作正常.

<rich:modalPanel>在RichFaces 3中是否有任何弹出窗口?

jsf richfaces popuppanel

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

大数组C++,矢量没有内存

我需要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.

c++ arrays

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