小编bob*_*bel的帖子

JAXB和物业订购

我希望我的Java类的序列化XML输出能够满足Java类中属性的顺序.

似乎JAXB按字母顺序排序.

我可以通过重写此@XmlTypepropOrder并指定所有属性,但我有很多属性的类,这些都还没有最终确定.

我读到指定一个空的propOrder会这样做,但事实并非如此.

我的示例类:

package test;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

@XmlRootElement
//@XmlType(propOrder={"company", "scheme", "agreementNumber"})
@XmlType(propOrder={}) // makes no difference - still alphabetical in XML 
public class CustomerPlan2 {

    private String company;
    private String scheme;
    private String agreementNumber;

    @XmlElement(name="Company")
    public String getCompany() {
        return company;
    }
    public void setCompany(String company) {
        this.company = company;
    }

    @XmlElement(name="Scheme")
    public String getScheme() {
        return scheme;
    }
    public void setScheme(String scheme) {
        this.scheme = scheme;
    } …
Run Code Online (Sandbox Code Playgroud)

java jaxb xml-binding

64
推荐指数
3
解决办法
8万
查看次数

找不到符号assertEquals

我正在尝试为计算器编写我的第一个单元测试,但NetBeans说它无法找到符号assertEquals和注释@Test.
我应该包括什么吗?
我正在使用NetBeans 7.3.1和W7.

package calculator;

import org.junit.Assert.*;

public class UnitTests{

    @Test
    public void checkAdd(){
        assertEquals(2, Calculator.rpnCalc(" 2 3 + "));
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:谢谢你们,导入它作为静态帮助.仅需要测试注释包括

import org.junit.Test;

java testing junit symbols class

30
推荐指数
4
解决办法
5万
查看次数

log4j:ERROR尝试附加到名为[..]的已关闭的appender

我在控制台上反复出现以下错误

log4j:ERROR Attempted to append to closed appender named [ConsoleAppender].
log4j:ERROR Attempted to append to closed appender named [FixedWindowRollingFile].
Run Code Online (Sandbox Code Playgroud)

使用了log4j.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
    <appender class="org.apache.log4j.rolling.RollingFileAppender" name="FixedWindowRollingFile">
        <param name="Append" value="true"/>
        <param name="ImmediateFlush" value="true"/>

        <rollingPolicy class="org.apache.log4j.rolling.FixedWindowRollingPolicy">
            <param name="fileNamePattern" value="logs/StandardizeAccountService.%i.log"/>
            <param name="minIndex" value="1"/>
            <param name="maxIndex" value="10"/>
        </rollingPolicy>
        <triggeringPolicy class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy">
            <param name="MaxFileSize" value="1002400"/>
        </triggeringPolicy>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %p %c{1}:%L - %m%n"/>
        </layout>
    </appender>

    <appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.SimpleLayout"/>
    </appender>

    <logger name="com.arosys" additivity="false" >
        <level …
Run Code Online (Sandbox Code Playgroud)

log4j

25
推荐指数
3
解决办法
7万
查看次数

如何用Java8s lambdas改进日志记录机制

如何通过不增加字符串连接的开销来改进您的日志记录机制呢?

请考虑以下示例:

import java.util.logging.Level;
import java.util.logging.Logger;

public class LoggerTest {
    public static void main(String[] args) {
        // get logger
        Logger log = Logger.getLogger(LoggerTest.class.getName());

        // set log level to INFO (so fine will not be logged)
        log.setLevel(Level.INFO);

        // this line won't log anything, but will evaluate the getValue method
        log.fine("Trace value: " + getValue());
    }

    // example method to get a value with a lot of string concatenation
    private static String getValue() {
        String val = "";

        for (int i = …
Run Code Online (Sandbox Code Playgroud)

java lambda logging java-8

9
推荐指数
4
解决办法
1万
查看次数

根据其他列表中的Id匹配从列表中删除对象

我有一个对象列表List<A> list1... A有两个成员idname......现在我还有一个列表List<Integer> list2只包含id...我需要删除其id不存在的所有A对象.list1list2

到目前为止我尝试了什么:

void removeUnwanted(List<A> a, List<Integer> b) {
    for (A object : a) {
        if (!(b.contains(object.id))) {
            b.remove(object)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我建议最有效的方法吗?

java algorithm collections arraylist

5
推荐指数
2
解决办法
6544
查看次数

Websphere中的证书链接错误

我正在尝试从url https://someurl.com使用RESTful服务.我在代码中添加了以下属性:

 Security.setProperty("ssl.SocketFactory.provider", "com.ibm.jsse2.SSLSocketFactoryImpl");
 Security.setProperty("ssl.ServerSocketFactory.provider", "com.ibm.jsse2.SSLServerSocketFactoryImpl");
 Security.setProperty("javax.net.ssl.trustStore", "cacerts.jks");
 Security.setProperty("javax.net.ssl.keyStore", "keystore.jks");
 Security.setProperty("javax.net.ssl.keyStoreType", "pkcs12");
 Security.setProperty("javax.net.ssl.trustStoreType", "JKS");
Run Code Online (Sandbox Code Playgroud)

到目前为止我所做的配置更改是:

  1. 设置com.ibm.websphere.ssl.retrieveLeafCerttrue
  2. 使用url作为someurl和端口443检索证书并将其添加到信任库.
  3. 重启服务器

但我得到以下异常:

java.security.cert.CertPathValidatorException: Certificate chaining error
javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: PKIX path building failed:          java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is:
  java.security.cert.CertPathValidatorException: The certificate issued by CN=Walmart Root CA, O=Wal-Mart Stores Inc is not trusted; internal cause is:
  java.security.cert.CertPathValidatorException: Certificate chaining error
  at com.ibm.jsse2.o.a(o.java:22)
  at com.ibm.jsse2.SSLSocketImpl.a(SSLSocketImpl.java:423)
  at com.ibm.jsse2.kb.a(kb.java:192)
  at com.ibm.jsse2.kb.a(kb.java:176)
  at com.ibm.jsse2.lb.a(lb.java:53)
  at com.ibm.jsse2.lb.a(lb.java:464)
  at com.ibm.jsse2.kb.s(kb.java:545) …
Run Code Online (Sandbox Code Playgroud)

ssl-certificate websphere-7

5
推荐指数
1
解决办法
4万
查看次数

无法初始化Integer变量

这是一个自我回答的问题!

我正在尝试Integer使用值初始化变量,但它没有按预期工作.它给了我不同的错误.

到目前为止我尝试过的:

public class Integer {
    public static void main(String[] args) {
        Integer num1 = 42;               // Type mismatch: cannot convert from int to Integer
        Integer num2 = (Integer)42;      // Cannot cast from int to Integer
        Integer num3 = new Integer(42);  // The constructor Integer(int) is undefined
    }
}
Run Code Online (Sandbox Code Playgroud)

这是什么问题?如何Integer正确设置我的价值?

java integer initialization class naming-conventions

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

注释参数:显式与隐式字符串数组

为什么我的场景中的第二个测试在行The value for annotation attribute SuppressWarnings.value must be an array initializer上有语法错误SuppressWarnings

public class AnnotationTest {
    private static final String supUnused = "unused";
    private static final String supDeprecation = "deprecation";
    private static final String[] suppressArray = { "unused", "deprecation" };

    public static void main(String[] args) {
        // Test 1
        @SuppressWarnings( { supUnused, supDeprecation } )
        int a = new Date().getDay();

        // Test 2
        @SuppressWarnings(suppressArray)    // syntax error
        int b = new Date().getDay();
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您将参数作为两个单一常量传递,则可以正常工作.
如果您使用数组常量传递它,则会出现语法错误.

这个错误的解释是什么?

java arrays string annotations

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

使用Java android中的Math.round方法舍入到小数点后6位

我正在使用

double i2 = value * 2.23694;
i2 = (double)(Math.round(i2 * 100)) / 100;
Run Code Online (Sandbox Code Playgroud)

用于舍入双打.但它只到小数点后两位.

我希望它是小数点后6位.

有没有办法使用Math.round并有6个小数位?

java android decimal rounding

0
推荐指数
2
解决办法
3万
查看次数