当前位置:  开发笔记 > 编程语言 > 正文

打开一对`int`s

如何解决《打开一对`int`s》经验,为你挑选了1个好方法。

一些上下文:我正在解析一个具有account1account2作为int类型的会计分类帐.每个都是[0,99999]范围内的数字.我有很多组合需要考虑.

理想情况下,我想使用类似的东西

switch (account1, account2){
    case (1,1):
        /*account1 is 1, account2 is 1*/
    case (2,1):
        /*account1 is 2, account2 is 1*/
}

等等.(我只需要考虑大约20种可能的组合).

有没有办法在Java中实现这一目标?

我已经考虑过这个问题在java中存储数字对

并且可以建立一个IntPair班级.也许如果我定义bool equals那么我可以switch在一个实例上,以类似的方式你可以打开java.lang.String.



1> Bathsheba..:

唉,这在Java中是不可能的.您只能在整数类型转换,或者一个java.lang.String从Java版本7(您不能重写建立这个功能集成到自己的类型equals,并hashCodejava.lang.Object).

但是,能鼓舞你做一个黑客:

switch (Integer.toString(account1) + "_" + Integer.toString(account2)){
    case "1_1":
    case "2_1":    
}

我发现这是令人惊讶的可读性.


别客气.好的黑客顺便说一句;)那仍然是很多组合
推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有