Java 只有当B大于a时,才有更优雅的方法用B覆盖a吗?

Java 只有当B大于a时,才有更优雅的方法用B覆盖a吗?,java,integer,comparison,Java,Integer,Comparison,有一些代码,我经常在其中执行以下操作: if(B > A) A = B; 我只是想知道是否有一种更优雅的方法来做到这一点(使用最少数量的变量引用),因为我正在处理大型嵌套数组,因此在我的代码中,它通常看起来更像: if(A[1][5][9][201][600][0xff] > A[600][3][8][0xW/E][1337][6]) A[600][3][8][0xW/E][1337][6] = A[1][5][9][201][600][0xff]; 在某个时刻我会迷失方向 请注

有一些代码,我经常在其中执行以下操作:

if(B > A) A = B;
我只是想知道是否有一种更优雅的方法来做到这一点(使用最少数量的变量引用),因为我正在处理大型嵌套数组,因此在我的代码中,它通常看起来更像:

if(A[1][5][9][201][600][0xff] > A[600][3][8][0xW/E][1337][6]) A[600][3][8][0xW/E][1337][6] = A[1][5][9][201][600][0xff];
在某个时刻我会迷失方向


请注意,“0xW/E”不是有效的整数

使用
Math.max
怎么样

A = Math.max(A,B);

您可以删除其中一个:

newValue = A[600][3][8][0xW/E][1337][6];
if(A[1][5][9][201][600][0xff] > newValue) A[1][5][9][201][600][0xff] = newValue;

这个呢:A=(A>B)?A:B

你能描述一下,从你的角度来看,什么是优雅的你吗?@StinePike主要是java中的一些东西,它就是为了这种东西,比如三元有时非常优雅,我认为这里的问题是你的数据方案。你的大嵌套数组看起来很难维护,我建议你先尝试重构它;由于涉及到这么多的可变性轴,我建议使用一个数据库或HashMap,该数据库或HashMap以指定长度的一组值(可能是原始索引)作为其键。@Luiggi Mendoza我没有意识到这一点,谢谢@哈哈,谢谢,考虑到这点。三元!:3不幸的是,在这种情况下,它看起来更大、更难看。D:有趣的是,你找到了一种方法使它变得更糟——它的变量引用比原来的多,这就是他试图最小化的地方。@Ryan如果将此代码放在一个方法中,则不会。不幸的是(对杰罗来说)这是在数学中完成的。我的上帝,这正是我想要的!我会失去性能吗?整数运算是您可以执行的最快的运算之一;)伟大的想象一下这些可能性吧!(A>B&&A>C)VS(A>Math.max(B,C)),您可能还需要查看是否有一组值需要求其最大值。您可以同时删除这两个值,因为newValue将是一个引用。这意味着我可以把这个和约翰的答案结合起来,让它超级性感:3