小编And*_*s_D的帖子

将String中的单个char转换为小写

我喜欢用getter方法'猜测'属性名称.因此'getSomeAttribute'将转换为'someAttribute'.

通常我会这样做

String attributeName = Character.toLowerCase(methodName.indexOf(3)) 
                       + methodName.substring(4);
Run Code Online (Sandbox Code Playgroud)

很难看,对吧?我通常把它隐藏在一个方法中,但有人知道更好的解决方案吗?

java

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

使用StAx解析XML文件时出错

我用StAx编写了一个xml解析器,用于解析从服务器接收的XML流.这是我的代码:

private Map<String, IUnitaryAction> parse(InputStream is) throws XMLStreamException {

    XMLInputFactory factory = XMLInputFactory.newInstance();
    XMLStreamReader reader = factory.createXMLStreamReader(is);
    boolean action = false;
    Map<String, IUnitaryAction> actionsMap = new HashMap<String, IUnitaryAction>();

    while(reader.hasNext()){
        int type = reader.next();
        switch(type){
        case XMLStreamReader.START_ELEMENT :
            action = reader.getLocalName().equals("action-description");
            break;

        case XMLStreamReader.CHARACTERS :
            if( action ){
                String act = reader.getText();
                System.out.println("Action trouvées " + act);

                String[] praxiscmd = act.split("_");
                if("CREATE".equals(praxiscmd[0])){
                    Create c = new Create(praxiscmd[1], praxiscmd[2], null);
                    actionsMap.put(praxiscmd[1], c);
                } else if("DELETE".equals(praxiscmd[0])){
                    Delete d = new Delete(praxiscmd[1],praxiscmd[2], null);
                    actionsMap.put(praxiscmd[1], …
Run Code Online (Sandbox Code Playgroud)

java xml stax

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

如何创建MyLogger?

我使用log4j进行日志记录.我想修改方法:warn(..),error(..).我想在这个方法中修改消息.那么,有什么办法,如何创建自己的记录器?

public class MyLogger extends Logger {

protected MyLogger(String name) {
    super(name);
}

@Override
public void error(Object message) {
    message = "test - " + message;

    super.error(message);
}

}
Run Code Online (Sandbox Code Playgroud)

在课堂电话中:

private static final Logger logger = MyLogger.getLogger(TestClass.class);

logger.error("error message");
Run Code Online (Sandbox Code Playgroud)

但它,不起作用.你可以帮帮我吗?谢谢.

java logging log4j

10
推荐指数
2
解决办法
1万
查看次数

getMilliseconds()超出Java Date

我需要像long getMillis(Date aDate)这样的函数;

返回Date秒的毫秒数.我不能使用Yoda,SimpleDateFormat或其他库,因为它是gwt代码.

我目前的解决方案正在做 date.getTime() % 1000

有没有更好的办法?

java date milliseconds

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

错误的ELF类:ELFCLASS32

在Solaris计算机上运行我的应用程序时,我收到此错误指向某个.so文件.但是,应用程序在我的Windows机器上运行得很好.如果我没有弄错,我的应用程序期望64位版本,但我在Solaris机器上只有32位版本的.so文件.有没有办法解决这个问题,所以它会使用32位版本?我知道它与字节码无关,但可能与JVM无关.我尝试使用-d32或-d64运行,但它没有任何效果.

更新:

这是确切的错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: librvjs11.so: ld.so.1: java: fatal: librvjs11.so: wrong ELF class: ELFCLASS32<br>
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)<br>
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)<br>
    at java.lang.ClassLoader.loadLibrary(Unknown Source)<br>
    at java.lang.Runtime.loadLibrary0(Unknown Source)<br>
    at java.lang.System.loadLibrary(Unknown Source)<br>
Run Code Online (Sandbox Code Playgroud)

我已经更新了LD_LIBRARY_PATH,因此它包含了包含上述文件的目录.

java jvm 32bit-64bit

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

为什么在runnable接口中运行使用abstract关键字定义的方法

这个问题可能很愚蠢,但我不小心检查了java源代码,runnable接口中的run方法是用abstract关键字定义的.但是根据接口定义,接口中的所有方法都是默认的抽象.然后我很困惑为什么特殊的Runnable接口有run方法的抽象关键字.我检查其他界面,如地图,列表等,但没有人有抽象的关键字.

请给我一个想法,为什么在java源代码中这样写.

public abstract void run();
Run Code Online (Sandbox Code Playgroud)

谢谢

java

8
推荐指数
2
解决办法
3489
查看次数

如何在Apache Derby中使用SEQUENCE?

我想在Apache Derby 10.7中使用SEQUENCE支持.我用以下语句创建了序列:

CREATE SEQUENCE SAMPLE_SEQ AS INT MAXVALUE 999999 CYCLE;
Run Code Online (Sandbox Code Playgroud)

如何从SAMPLE_SEQ?中选择下一个/当前值?你能帮我解决一下这个问题吗?

java sql derby sequence

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

网络服务错误

我正在尝试制作网络服务,但我收到此错误

IWAB0506E Error when copying Axis jar files to web project
    java.io.FileNotFoundException: /lib/saaj.jar
    at 
Run Code Online (Sandbox Code Playgroud)

java eclipse web-services

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

JAVA_HOME没有设置

在伪分布式操作中处理Hadoop实现时,我发现以下JAVA_HOME变量没有设置,但是当我试图回应它时,它被设置了.

变量在conf/hadoop-env.sh(编辑export JAVA_HOME=/usr/lib/jvm/java-6-sun)中预设bash.bashrc.

vardan@vardan-HP-G62-Notebook-PC:~/hadoop-0.20.203.0$ echo $JAVA_HOME
/usr/lib/jvm/java-6-sun
vardan@vardan-HP-G62-Notebook-PC:~/hadoop-0.20.203.0$ bin/start-all.sh
starting namenode, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-namenode-vardan-HP-G62-Notebook-PC.out
localhost: starting datanode, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-datanode-vardan-HP-G62-Notebook-PC.out
localhost: Error: JAVA_HOME is not set. 
localhost: starting secondarynamenode, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-secondarynamenode-vardan-HP-G62-Notebook-PC.out
localhost: Error: JAVA_HOME is not set. 
starting jobtracker, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-jobtracker-vardan-HP-G62-Notebook-PC.out 
localhost: starting tasktracker, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-tasktracker-vardan-HP-G62-Notebook-PC.out
localhost: Error: JAVA_HOME is not set.
Run Code Online (Sandbox Code Playgroud)

java hadoop java-home

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

从外类和其他内部类别对内部类进行子类化

我很困惑为什么这是允许的

public class Foo {
    class Bar extends Foo {
    }
}
Run Code Online (Sandbox Code Playgroud)

但这是不允许的

public class Foo {
    class Bar extends Foo {
    }

    class Fooey extends Bar {
    }
}
Run Code Online (Sandbox Code Playgroud)

编译器通知它在调用超类型构造函数之前无法引用Fooey.this.

这是允许的

public class Foo {
    static class Bar extends Foo {
    }

    class Fooey extends Bar {
    }
}
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?我在哪里可以找到有关内部类继承如何工作的更多信息?

编辑我遇到了两个相当糟糕的想法; 内部类扩展外部类,内部类扩展其他静态内部类.我不确定到底发生了什么以及我应该如何重构这一点.我最终只是将内部类拉出来并将它们封装在外部类中.

java inheritance inner-classes

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