Java语言如何判断12345678^12345679和12345679^12345678这两个数字哪个大

Java语言如何判断12345678^12345679和12345679^12345678这两个数字哪个大

public class Example {
    public static void main(String[] args){
        double a=Math.pow(12345678,12345679);
        double b=Math.pow(12345679,12345678);
        String str1="a大";
        String str2="b大";
        System.out.print(a>b?str1:str2);
    }
}

答案是b大

---------------------------------分割线------------------------------------------
我看了自己的回答,发现有错订正一下,Java的代码暂时没有想出来,不过我用数学归纳法,配合python得出a大的结论

已知a大于b大于e,证明a的b次方大于b的a次方

ln[(a^b)/(b^a)]=blna-alnb=ab(lna/a - lnb/b)
构造一个函数y=lnx/x
y'=(1-lnx)/x当x>e时,y'b>e,lna/a - lnb/b>0
所以ln[(a^b)/(b^a)]=blna-alnb=ab(lna/a - lnb/b)>0
(a^b)/(b^a)>1,
a^b>b^a

所以这个是不是用已知结论??(我不确定)