小编Bet*_*tta的帖子

如何仅序列化Java类中的极少数属性

最近在一次采访中我被问到一个问题:

Java类中有100个属性,我应该只能序列化其中的2个属性.这怎么可能?

标记所有98个属性不是答案,因为它效率不高.我的答案是将这些属性划分为一个单独的类并使其可序列化.

但我被告知,我不会被允许修改班级的结构.好吧,我试图在网上论坛找到答案,但是徒劳无功.

java serialization

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

具有ß字符的Java compilaton问题

我遇到了一个奇怪的问题.在下面的代码中,我正在寻找ß的存在.

public static void main(String[] args) {
    char [] chArray = {'ß'};
    String str = "Testß";
    for(int i=0; i<chArray.length; i++){
        if(str.indexOf(chArray[i])>-1){
            System.out.println("ß is present");
            break;
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我有一个在Linux上运行JBOSS的Web应用程序,Java 6. 上面的代码在上面指定的应用程序中包含代码时没有检测到ß的存在. 令人惊讶的是,如果我在我的eclipse工作区中编译相同的文件,然后在应用程序中应用补丁,它将按预期运行!

注意事项:

  1. 应用程序构建环境对我来说是一个黑盒子,因此不知道javac命令是否存在任何-encoding选项或类似的东西
  2. 我的eclipse的JRE是java8,但为该项目设置的编译器版本是Java6
  3. 我在数组声明中将值从ß更改为等效于\ u00DF的unicode,但行为仍然相同.

    char [] chArray = {'\ u00DF'};

  4. 当我反编译生成的类文件时,字符数组声明的值显示为65533,即\ uFFFD,只有用于未识别符号的替换字符.我使用JD-GUI作为反编译器,我认为不值得信赖!

需要你的帮助人!我确信它与以下内容不同:beta Java的equalsIgnoreCase的区分大小写问题与ß(德语字母表中使用的"Sharp S")失败

提前致谢

java non-ascii-characters

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

标签 统计

java ×2

non-ascii-characters ×1

serialization ×1