技术文章类别

 所有技术文章

  • 如何检查Java集合的所有元素是否都符合某个条件?

    如果您有Java 8,请使用流的allMatch功能(reference): ArrayListInteger col = ...; col.stream

  • 为什么lambda翻译需要生成静态方法?

    除了此处给出的正确答案(因为当前方案更有效,减少lambda的捕获链接成本并减少代码重复)之外,还有其他一些原因使您的想法根本没有意义。 字节码首先从哪里来?lambda代理类是在运行时生成的,而不是在编译时生成的。如果我们将字节码填充到代理类中,则它必须来自某个地方。这意味着我们必须将其放入捕获类文件中 ,然后将 其 复制 到代理类中。在这里,它只存在于捕获类中,我们就完

  • Rx Java mergeDelayError无法按预期工作

    这似乎仍然是mergeDelayError运算符中的错误,但是我能够通过为每个可观察对象复制ObserverOn和Subscribe on来使其工作。 Observable.mergeDelayError Observable.errornew RuntimeException .observeOnAndroidSchedulers.mainT

  • 导入后,ActionBarSherlock库充满了错误

    转到项目属性 Java编译器。使用JDK 1.6。 确保使用Android 4.0+同时编译库和应用程序 确保您的targetSdkVersion为14或更高。

  • Java:如何快速复制BufferedImage的像素?(包括单元测试)

    private static void copySrcIntoDstAtfinal BufferedImage src, final BufferedImage dst, final int dx, final int dy { int[] srcbuf = DataBufferInt src.getRaster.getDataBuffer.getData; int[] ds

  • Java'jar'不被识别为内部或外部命令

    该路径应仅包含操作系统将在其中查找可执行文件的目录。删除结尾的“ \ jar.exe”,将路径设置为: (此处为旧路径变量); C:\ Program Files(x86)\ Java \ jdk1.7 \ bin 感谢:@stevevls

  • Jar文件命名约定

    我一直在用 *Informative*-*name*-*M*.*m*.*b*.jar 哪里: M = major version number(在不必保持向后兼容性时更改) m = minor version number(功能添加等) p

  • 按需重新加载log4j2配置

    看来我找到了解决方案: org.apache.logging.log4j.core.LoggerContext LogManager.getContextfalse.reconfigure; 有人看到任何错误副作用吗?

  • 用JGIT进行浅克隆

    您不能,JGit尚不支持客户端上的浅表克隆(不过,它在服务器端上)。

  • Java:货币到区域设置映射可能吗?

    通常,正确的行为是按照用户的首选语言环境而不是货币的典型语言环境格式化金额。在客户端,您将具有用户的首选项(Locale.getDefault());。如果您在Web服务器端执行某项操作,请使用Accept- Language或页面内容的语言环境来获取正确的语言环境。 原因是这样的:英美用户将了解10,000,000.15欧元,但不适合德国的等价金额,10.000.000,15欧元 货币本身没有

  • 覆盖log4j.properties

    有几种覆盖log4j.properties的方法,其中一种是: 使用log4j.xml 请参阅扩展名 另一种方法是: 将 log4j.defaultInitOverride 系统属性设置为任何其他值,然后设置为“ false”将导致log4j跳过默认的初始化过程(此过程)。

  • 我应该使用静态导入吗?

    如文档所述,请谨慎使用。寻找那里的理由。

  • 使用multi-arg方法初始化Spring bean

    可以通过使用 MethodInvokingFactoryBean(Spring [4.x]

  • 当我从solr查询时,它发生了一个常见异常,告诉我未定义字段userId

    如我所见,您在代码中更改了baseUrl。如您在评论中所说,您在同一页面上查询多个内核,并且所有内核都使用相同的HttpSolrServer。因此,您的解决方案似乎缺乏同步性,可能同时有两个请求在运行,而一个请求却在查询另一个的“核心”。 当然,您可以同步您的方法。但我认为,就您而言,最好不要HttpSolrServer每次都抽动,而应为查询设置附加参数,这将用作您的附加路径

  • 为什么Arrays.sort使用Object []而不是Comparable []?

    因为第二种形式需要重新分配数组。即使您知道数组仅包含可比较的数组,但是如果原始类型为Object [],也不能将其强制转换为Comparable [],因为数组类型不匹配。 你可以做: Object[] arr = new String[0]; String[] sarr = String[] arr; 但是你不能做: pr

  • 在Java中使用正则表达式进行开关声明

    您不能将正则表达式用作开关盒。(考虑一下:Java如何知道您要匹配字符串"[A-Z]{1}[a-z]{2}\\d{1,}"还是正则表达式?) 在这种情况下,您可以做的就是尝试在默认情况下匹配正则表达式。 switch s { case "m": print; continue; case "s": stat; brea

  • ConcurrentHashMap具有弱键和身份哈希?

    我认为Google Guava Collections可以提供这种功能,但是我可以从标准库中获取吗? 对此的简短答案是“否”。Java SE没有实现此特定组合。 您可以java.util.concurrent.ConcurrentHashMap使用WeakReferencecode

  • Java的CPU负载

    使用ManagementFactory获取a href="http:java.sun.comjavase6docsapijavalangmanagementOperatingSystemMXBean.html"

  • 将包含ASCII字符的字节数组转换为字符串

    用 new StringmyByteArray, "UTF-8"; 字符串类为此提供了一个构造函数。 p

  • switch语句中的最终变量大小写

    b可能尚未初始化,可以分配多个值。在您的示例中,它显然已初始化,但是编译器可能不知道(而且也不知道)。想像: final int b; if something { b = 1; } else { b = 2; } 编译器需要中的常量switch,但的值b取决于某些外部变量。

  • apache commons配置加载属性,直到“,”字符

    检查Javadoc。您必须设置setDelimiterParsing

  • 动态生成枚举

    您尝试做的事情没有任何意义。枚举实际上仅是为了编译时的利益,因为它们表示一组固定的常量。在运行时,动态生成的枚举的含义是什么- 与普通对象有什么不同?例如: public class Salutation implements HasDisplayT

  • 有什么方法可以将MouseListener添加到Graphic对象吗?

    我想到的最简单的方法是避免fillOval并使用java.awt.geom包中的几何。因此,您可以声明一个椭圆,因为看起来您绘制的椭圆是静态大小的。 class MyDrawPanel extends JComponent implements MouseListener { Ellipse2D oval = new Ellipse2D.Double70, 70, 100, 100;

  • System.out字符编码

    我通过在命令行中找到正确的编码,然后有你的代码的工作 要么 使用PrintStream,与编码版本 或 通过指定它的命令行上,只是利用System.out.println。 要在命令行上找到编码,请运行chcp。这是我得到的输出: Active code page:

  • 遍历地图条目集

    您在第一个错误中遇到的错误是: Type mismatch: cannot convert from element type Object to Map.Entry 这是因为编译器会转换FOR-IN循环: for Entry entry : anyMap.entrySet { } 至:

  • Java为什么不需要运算符重载?[关闭]

    Java仅允许对基本数字类型进行算术运算。这是喜忧参半的事情,因为尽管在其他类型(如复数,向量等)上定义运算符很方便,但始终存在与实现相关的特性。因此,运营商并不总是按照您的期望去做。通过避免运算符重载,可以更清楚地知道何时调用哪个函数。明智的设计在某些人的眼中动了。

  • 休眠未知实体(不丢失@Entity或import javax.persistence.Entity)

    您应该使用AnnotationConfiguration代替,Configuration然后调用 configuration.addAnnotatedClassUser.class; 将您的班级添加到映射的班级列表中。

  • 如何保留大量实体(JPA)

    JPA API并未为您提供最佳选择。根据您要执行此操作的速度,您将不得不寻找特定于ORM的选项-在您的情况下为休眠状态。 检查事项: 检查您是否正在使用单笔交易(是的,显然您对此有把握) 检查您的JPA提供程序(Hibernate)是否正在使用JDBC批处理API(请参阅:hibernate.jdbc.batch_size) 检查是否可以绕过获取

  • 如何在Java中播放pcm原始数据

    使用javax.sound.sampled包,它非常简单,但是您必须使用一些样板文件。 这是一个很好的教程:a

  • 返回值并引发异常?

    不能从单个函数调用中引发异常并返回值。 false如果发生错误,它可能会执行类似返回的操作,但是如果输入无效,则会引发异常。 编辑:PaulPRO发布了一个(现已删除)答案,指出从 技术上讲, 有可能在返回当前值时在另一个线程中引发异常。我认为这是值得注意的,即使这不是您应该看到的东西。

  • Java 8 Stream-具有重复项的.max()

    max被实现以减少收集maxBy: public static T BinaryOperatorT maxByComparator? super T comparator { Objects.requireNonNullcomparator; return a, b -

  • 两次写入工作簿时出现org.apache.xmlbeans.impl.values.XmlValueDisconnectedException

    同意Akokskis,编写两次导致问题的文件,但是您可以在编写之后尝试重新加载工作簿,这样便可以正常工作。例如 FileOutputStream fileOut = new FileOutputStream"Workbook.xlsx"; wb.writefileOut; fileOut.close; wb = new XSSFWorkbooknew FileInpu

  • Spring:将@Qualifer附加到Java配置的bean

    如果您使用的是注释(不是基于Java的配置),则可以使用以下内容添加限定符(请参见Spring文档): @Component @Qualifier"

  • 用junit测试主要方法

    要提供来自文件的输入,请创建一个FileInputStream并将其设置为System.in流。您可能要在main方法完成后将原始文件放回原处,以确保以后使用它的所有内容仍然有效(其他测试,JUnit本身…) 这是一个例子: @Test public void testMain throws IOException { System

  • 带有方括号语法的Java函数定义

    在JLS第8.4节中: MethodDeclarator: Identifier [FormalParameterList] [Dims]

  • 转换ArrayList 变成一个字节[]

    调用toArray()之后,您可以将结果传递到Apache Commons toPrimitive方法中: a href="http:

  • Java停止对内部类中的非最终变量进行错误处理(Java 8)

    Java8隐式将message其定为final,因为它从未被修改。尝试在代码中的任何地方修改它,您将得到一个编译错误(因为这会删除隐式的final)。 这实际上称为 final 。引用a href="http:docs.oracle.comjavasetutorialjavajavaOOlocalclasses.html#accessi

  • 两个确切的方法引用不相等

    Lambda不被缓存,这似乎是有意的。无法比较两个lambda以查看它们是否会做相同的事情。 你需要做类似的事情 static final FunctionString, Integer parseInt = Integer::parseInt; @Test public void test { FunctionString, Integer foo

  • 如何在Real(SQlite)列中存储BigDecimal(Java)值?

    那么,如何在中操纵BigDecimal值,以便ContentValues实例可以接受它? 好了,您可以调用doubleValue将BigD

  • 良好做法:JDBC连接

    使用完PreparedStatement之后,必须在同一连接上创建新的PreparedStatement之后,再关闭它。我遇到了严重的问题,因为我没有关闭PreparedStatements。事实证明,在数据库服务器上,只有在显式调用PreparedStatement.close()之后才释放已分配的资源。 如bdares所评论,应尽可能不频繁地打开和关闭Connection。