パッケージ com.lmt.lib.bms
クラス BmsArray
- Object
-
- AbstractCollection<E>
-
- AbstractList<Integer>
-
- BmsArray
-
- すべての実装されたインタフェース:
Iterable<Integer>
,Collection<Integer>
,List<Integer>
public final class BmsArray extends AbstractList<Integer>
BMSで取り扱う0(00)~255(FF)の16進整数値、または0(00)~1295(ZZ)の36進整数値の配列を表現するクラスです。BmsArrayでは、オブジェクト生成時に配列を表現した文字列、およびその文字列が表す基数を入力し、文字列の解析結果を 整数の配列データに変換します。その後は配列に対して変更を加えることは出来ません。
また、配列データを外部データ出力されたBMS上での文字列に変換する機能も有しています。以下に変換例を示します。
16進数の場合:"004A007800FFC9"
36進数の場合:"GH00ZAZ60000AFPIZZ"
-
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 boolean
equals(Object obj)
配列の内容が一致しているかを判定します。Integer
get(int index)
int
getRadix()
入力元データの基数を返します。int
getValue(int index)
整数値配列から指定された位置の数値を取得します。int
size()
String
toString()
配列の内容を文字列に変換します。-
クラスから継承されたメソッド AbstractList
add, add, addAll, clear, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
-
-
-
-
コンストラクタの詳細
-
BmsArray
public BmsArray(int radix)
指定された基数の空の配列を生成します。- パラメータ:
radix
- 入力元データの基数(16,36のいずれかのみサポートしています)- 例外:
IllegalArgumentException
- radixが16,36以外
-
BmsArray
public BmsArray(String src, int radix)
指定された基数で入力元データを解析し、配列を生成します。基数に16を指定した場合、認識可能な文字は0~9,a~f,A~F、36の場合は0~9,a~z,A~Zとなり、 いずれの場合も2文字1セットの整数値となります。従って、1つの要素で表現可能な値の範囲は 基数16で0~255、基数36で0~1295です。
入力元データの空白文字など、認識不可能な文字をトリミングする機能はありません。 それらの文字は予め除去したうえでこのコンストラクタを呼び出してください。
- パラメータ:
src
- 入力元データradix
- 入力元データの基数(16,36のみサポートしています)- 例外:
NullPointerException
- srcがnullIllegalArgumentException
- srcの文字数が2で割り切れないIllegalArgumentException
- srcに解析不可能な文字が含まれるIllegalArgumentException
- radixが16,36以外
-
BmsArray
public BmsArray(BmsArray array)
指定された配列と同等の配列を生成します。新しく生成された配列オブジェクトは、入力元配列と同じ基数、要素数、データ内容を返すようになります。
- パラメータ:
array
- 入力元配列- 例外:
NullPointerException
- arrayがnull
-
-
メソッドの詳細
-
toString
public String toString()
配列の内容を文字列に変換します。文字列の内容は、配列生成時に指定された入力元データ、および基数に従って変換されますが、 入力元データの内容に関わらずアルファベットは全て大文字で表現されます。
- オーバーライド:
toString
クラス内AbstractCollection<Integer>
- 戻り値:
- 文字列に変換された配列
-
equals
public boolean equals(Object obj)
配列の内容が一致しているかを判定します。配列の基数、および内容が完全に一致している場合のみ「一致」と判定します。ただし、入力元文字列の アルファベット文字の大小は判定に影響しません。
- 定義:
equals
インタフェース内Collection<Integer>
- 定義:
equals
インタフェース内List<Integer>
- オーバーライド:
equals
クラス内AbstractList<Integer>
- パラメータ:
obj
- 比較対象配列- 戻り値:
- 配列の内容が一致している場合はtrue
-
get
public Integer get(int index)
- 定義:
get
インタフェース内List<Integer>
- 定義:
get
クラス内AbstractList<Integer>
- 関連項目:
AbstractList.get(int)
-
getValue
public final int getValue(int index)
整数値配列から指定された位置の数値を取得します。get(int)
とは異なり、プリミティブ型として値を取得します。- パラメータ:
index
- インデックス- 戻り値:
- 指定された位置の数値
- 例外:
IndexOutOfBoundsException
- インデックスが0未満または配列の要素数以上
-
size
public int size()
- 定義:
size
インタフェース内Collection<Integer>
- 定義:
size
インタフェース内List<Integer>
- 定義:
size
クラス内AbstractCollection<Integer>
- 関連項目:
AbstractCollection.size()
-
getRadix
public int getRadix()
入力元データの基数を返します。- 戻り値:
- 基数
-
-