[解決済み] Kotlinにおけるクラスとオブジェクトの違い
2022-07-02 05:44:08
質問
私はKotlinの初心者です。最近、簡単なファイルをjavaからKotlinに変換しています。なぜ Android コンバーターが私の java クラスを Kotlin オブジェクトに変更したのか不思議に思っています。
Javaです。
public class MyClass {
static public int GenerateChecksumCrc16(byte bytes[]) {
int crc = 0xFFFF;
int temp;
int crc_byte;
for (byte aByte : bytes) {
crc_byte = aByte;
for (int bit_index = 0; bit_index < 8; bit_index++) {
temp = ((crc >> 15)) ^ ((crc_byte >> 7));
crc <<= 1;
crc &= 0xFFFF;
if (temp > 0) {
crc ^= 0x1021;
crc &= 0xFFFF;
}
crc_byte <<= 1;
crc_byte &= 0xFF;
}
}
return crc;
}
}
Kotlinを変換したもの。
object MyClass {
fun GenerateChecksumCrc16(bytes: ByteArray): Int {
var crc = 0xFFFF
var temp: Int
var crc_byte: Int
for (aByte in bytes) {
crc_byte = aByte.toInt()
for (bit_index in 0..7) {
temp = crc shr 15 xor (crc_byte shr 7)
crc = crc shl 1
crc = crc and 0xFFFF
if (temp > 0) {
crc = crc xor 0x1021
crc = crc and 0xFFFF
}
crc_byte = crc_byte shl 1
crc_byte = crc_byte and 0xFF
}
}
return crc
}
}
なぜそうでなかったのか。
class MyClass {
... etc ...
}
どのようなヘルプも非常に感謝されますありがとうございます。
どのように解決するのですか?
Kotlinのオブジェクトはインスタンス化できないクラスのようなものなので、名前をつけて呼び出す必要があります。(それ自体は静的なクラス)
アンドロイドコンバータは、あなたのクラスには静的メソッドしか含まれていないことを見抜き、Kotlinオブジェクトに変換しました。
詳しくはこちらをご覧ください。 http://petersommerhoff.com/dev/kotlin/kotlin-for-java-devs/#objects
関連
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
ローカルリソースのロードが許可されていない場合の解決策
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] Java内部クラスと静的ネストされたクラス
-
[解決済み] StringBuilderとStringBufferの違いについて
-
[解決済み] match_parentとfill_parentの違いは何ですか?
-
[解決済み] wait()とsleep()の違いについて
-
[解決済み] Javaクラスにおけるcanonical name、simple name、class nameの違いは何ですか?
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スタイルが読み込まれず、ブラウザのコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
この行に複数のマーカーがある - HttpServletResponseが型エラーに解決できない
-
jd-gui Java Exceptionが発生しました。
-
Javaクラスローダーにソースコードから潜り込む
-
this()の呼び出しはコンストラクタ本体の最初の文でなければならない 例外解決と原因分析
-
Spring boot runs with Error creating bean with name 'entityManagerFactory' defined in class path resource
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException: 1
-
spring-boot 401 このリソースにアクセスするには完全な認証が必要です エラー解決
-
ブラウザでの大容量ファイルスライスアップロード(Javaサーバサイド実装)
-
ローカルリソースのロードが許可されていない場合の解決策