129 Integer型の変数をBigIntegerに変換する方法があるかどうか疑問に思っていました。Integer変数を型キャストしようとしましたが、変換できない型を示すエラーが発生します。 java biginteger — ステファン・ハリス ソース 12 あなたはBigIntegerについていくつかの質問をしましたが、Javadocsを読むことでかなり簡単に解決できます。私の回答のリンクをたどって、BigIntegerが持っているすべてのメソッドとコンストラクターをチェックしてください。 — jjnguy
239 必要なメソッドはBigInteger#valueOf(long val)です。 例えば、 BigInteger bi = BigInteger.valueOf(myInteger.intValue()); 最初に文字列を作成することは不要であり、望ましくありません。 — イビンデル ソース 2 @Mich、いいえ。整数の場合、Javaが自動的に展開します。(OPは整数を持っていると言っています) — jjnguy それも同様に機能します。Integerでは、intValue()はオーバーフローしないため、valueOfの呼び出しは単にintをlongに拡大します。この例では、longValue()とintValue()を使用しても目立った違いはありませんが、Longで始めた場合は、longValue()を使用することになります。 — jbindel 2 Amar、それは他の文字列ベースのアプローチに似ています。ここで避けるべき重要なことは、文字列の生成または解析です。 — jbindel 2013 1 文字列を使用すると間違った答えが得られるわけではありませんが、コンピュータにとって余分な作業になります。たとえば、隣の家を歩いて隣の家に行くことも、反対方向に行って地球のほぼ全域を移動することもできます。あなたはまだそこに着くでしょう、そしてあなたが速いロケット飛行機を持っているならば、あなたはそれがかかった時間に気づかないかもしれませんが、それは無駄であり、それはしばらく時間がかかります。 — jbindel 2013 1 また、myIntegerがnullの場合はNPEになります。 — ウィザード
-4 あなたはこの方法で行うことができます: Integer i = 1; new BigInteger("" + i); — ジョルジオス・カラゴニス ソース 5 できますが、なぜでしょうか。すでに受け入れられている回答では、はるかに優れたソリューションが提案されています。 — コリン 整数演算を実行する文字列を作成すると、数えるよりも多くのCPUサイクルが無駄になります。 — jbindel 2018年