public class hiU extends Object
hiNoteシステムの核として表示、トレースなどに焦点を絞ったメソッドを用意しています。
汎用データ表示機構 hiU.str()
hiU.str(Object)
で
toStringを持つオブジェクトも、
配列やList,Map,toStringメソッドを持たないクラスオブジェクトも表示できます。
階層化していても構いません。型によって呼び分ける必要はありません。
hiFieldFormat.オプション一覧
にあるオプションを指定することにより表示形式を選択できます。
int i = 7; int ai[] ={ 1,2,3 }; String ss[][]={{"abc","def"},{"uvw","xyz"},{"ABC","XYZ"}}; ArrayList<String[]> as=new ArrayList<String[]>(); as.add(ss[0]);as.add(ss[1]);as.add(ss[2]); HashMap<String,String> dict=new HashMap<String,String>(); dict.put("a","A");dict.put("b","B"); class X { int x; int y; String s; X(int x_,int y_,String s_){x=x_;y=y_;s=s_;} } X x=new X(3,7,"abc"); --- System.out.println(hiU.str(i)); ⇒ 7 // 単純値 System.out.println(hiU.str(ai)); ⇒ [1, 2, 3] // 配列 System.out.println(hiU.str(ss)); ⇒ [[abc, def], [uvw, xyz], [ABC, XYZ]] // 配列の配列 System.out.println(hiU.str(as)); ⇒ [[abc, def], [uvw, xyz], [ABC, XYZ]] // 配列のリスト System.out.println(hiU.str(dict)); ⇒ {a=A, b=B} // Map(辞書) System.out.println(hiU.str(x)); ⇒ {x=3, y=7, s=abc} // 自作クラス System.out.println(hiU.str(x,hiU.WITH_INDENT)); // 自作クラス,インデント付き ⇒ { x=3 ,y=7 ,s=abc} System.out.println(hiU.str(x,hiU.WITH_INDENT|hiU.WITH_TYPE)); // 自作クラス,インデント,型名付き ⇒ (X){ x=(int)3 ,y=(int)7 ,s=(String)abc}
連結式API
表示形態に関する指定の多くはstr()メソッドに付加するフラグ指定ですが、表示長リミットや深さ制限など数値指定のものや、アノーテーションを無効化する設定などは専用関数で行います。
メソッドはstr_forma()に続くカスケード式でstrで終端します。
String _text=hiU.str_format() .str_limit(30) .str_depth(2) .str_ignore_annotations(hiU.AsHex.class,hiU.AsBase64.class) .for_classes(X.class,Y.class,Z.class) .str(_data); // JSON_STYLEに設定されているUSE_AT_FIELDを無効にする String _json=hiU.str_format() .str_disable_option(hiU.USE_AT_FIELD) .str(_data,hiU.JSON_STYLE)
デバグ用関数階層ログ機能 hiU.i(),hiU.m(),hiU.o()
関数の呼び出し階層を表示するデバグ用ログ出力機能を持ちます。
関数の入り口でi()
、出口前でo()
を呼び出せばの関数入りと出としてしてネスト形式のトレース文がログファイルに出力されます。
関数の中でm(String)
を用いればネスト形式でトレース文が出ます。
// 次の様なクラスがあり、幾つかの階層を経て呼び出されると class MyClass { final static boolean D=true; void woo(int n_){ if(D) hiU.i("n_="+n_); // 何か処理 if(D) hiU.m("message"); // if(D) hiU.o(); } }; // 次のように呼び出し階層が表示されます。上位階層はhiU.i()無でも表示されます。 0001 - > Test.main 0001 | - > TestClass2.boo (from Test.main#98) 0001 | | - > TestClass.foo (from TestClass2.boo#Test.java.62) 0001 | | | --> MyClass.woo#Test.java.15 (from TestClass.foo#Test.java.54) n_=13 0001 | | | | [#Test.java.17] message 0001 | | | <-- MyClass.woo#Test.java.19 (to TestClass.foo#Test.java.54) 表示されるのはクラス名.関数名#ファイル.行番号とhiU.i()の場合は呼び出し元の情報です。
出口での出力を自動にする。
出力先やフォーマットの変更。
ライブラリ内共通フラグ
hiUはライブラリ内で共通に使うフラグ値の定義を持ちます。
ライブラリ内のフラグ-APIはlongを使いますが、hiU.XXXXで与えられるフラグはintの範囲に収めてあります、
値(16進) | 値(2進/半分) | 値(10進) | 名前 |
0000 0000 | ---- 0000 0000 0000 0000 | 0 |
NO_OPTION ,
NONE
|
0000 0001 | ---- 0000 0000 0000 0001 | 1 |
SKIP ,
CHECK_ESCAPE ,
AS_MEMBER ,
HEIGHT ,
|
0000 0002 | ---- 0000 0000 0000 0010 | 2 |
RETRY ,
WITH_NEW_ID ,
NO_GROUP ,
DOUBLE_QUOTE_FOR_CHAR ,
WIDTH
|
0000 0004 | ---- 0000 0000 0000 0100 | 4 |
NO_ESCAPE
|
0000 0008 | ---- 0000 0000 0000 1000 | 8 |
NO_LIMIT ,
DEEP ,
OTHER_NO_LIMIT ,
SKIP_FUNC_NAME
|
0000 0010 | ---- 0000 0000 0001 0000 | 16 |
CLOSE_EACH_TIME ,
IGNORE_LEVEL ,
IGNORE_TOP_LEVEL ,
AS_SAME_LEVEL ,
SINGLE_REGION
|
0000 0020 | ---- 0000 0000 0010 0000 | 32 |
MEMORY_SAVE ,
SAVE_MEMORY ,
REUSE_ADDR ,
BYTE_AS_DEC ,
NO_QUOTE_CONCAT ,
|
0000 0040 | ---- 0000 0000 0100 0000 | 64 |
OMIT_EMPTY_MAP_ELEMENT ,
NO_LINE_NUMBER ,
SPEED
|
0000 0080 | ---- 0000 0000 1000 0000 | 128 |
KEEP_QUOTE ,
AUTO_FLUSH ,
BODY ,
EVEN_FINAL_STATIC ,
AS_IS
|
0000 0100 | ---- 0000 0001 0000 0000 | 256 |
KEEP_NULL ,
EVEN_NULL ,
WITH_TYPE ,
WITH_NAME
|
0000 0200 | ---- 0000 0010 0000 0000 | 512 |
KEEP_LINE_SEPARATOR ,
NO_TRIM ,
WITH_COLON ,
NUMERICAL_REFERENCE
|
0000 0400 | ---- 0000 0100 0000 0000 | 1024 |
NO_QUOTE ,
DO_TRIM ,
CHECK_UNKNOWN_FIELD ,
DECODE
|
0000 0800 | ---- 0000 1000 0000 0000 | 2048 |
KEEP_SPACE ,
WITH_SINGLE_QUOTE
|
0000 1000 | ---- 0001 0000 0000 0000 | 4096 |
OMIT_NULL ,
OMIT_EMPTY_ELEMENT ,
IF_EXIST
|
0000 2000 | ---- 0010 0000 0000 0000 | 8192 |
SPACE_AS_DLMT ,
END_AT_EOF ,
AS_NO_DISP ,
TERSE ,
OMIT_CALLER
|
0000 4000 | ---- 0100 0000 0000 0000 | 16384 |
IGNORE_QUOTE ,
WITH_INDENT
|
0000 8000 | ---- 1000 0000 0000 0000 | 32768 |
OMIT_SPACE ,
IGNORE_SPACE ,
NO_FLUSH ,
NAME_WITH_QUOTE
|
0001 0000 | 0000 0000 0000 0001 ---- | 65536 |
AS_STRING ,
KEEP_BOM ,
INDENT_WITH_BAR ,
ADD_BOM
|
0002 0000 | 0000 0000 0000 0010 ---- | 131072 |
AS_EMPTY_STRING ,
NO_ERR_PRINT
|
0004 0000 | 0000 0000 0000 0100 ---- | 262144 |
CONCAT_STR ,
WITH_BEGIN_END ,
IGNORE_toString
|
0008 0000 | 0000 0000 0000 1000 ---- | 524288 |
KEEP_OPEN ,
NO_BEGIN_END ,
TARGET_CLASS_toString
|
0010 0000 | 0000 0000 0001 0000 ---- | 1048576 |
ONLY_FIRST ,
DELETE_ON_ERROR ,
SHALLOW ,
EVEN_PRIVATE_STATIC ,
AS_OBJECT
|
0020 0000 | 0000 0000 0010 0000 ---- | 2097152 |
KEEP_REDUNDANCY ,
KEEP_DELIMITER ,
VERBOSE ,
APPEND ,
USE_AT_FIELD
|
0040 0000 | 0000 0000 0100 0000 ---- | 4194304 |
KEEP_ON_ERROR ,
DOUBLE_QUOTE_FOR_MAP_KEY ,
AS_NULL
|
0080 0000 | 0000 0000 1000 0000 ---- | 8388608 |
ONLY_ONE_TARGET ,
ONLY_TARGET_CLASS ,
OMIT_LAST_SPACE ,
OMIT_SUFFIX ,
|
0100 0000 | 0000 0001 0000 0000 ---- | 16777216 |
DO_NOT_CREATE_FOLDER ,
SINGLE_LINE_STRING ,
AS_null_DISP
|
0200 0000 | 0000 0010 0000 0000 ---- | 33554432 |
CHECK_COMMENT ,
MIDDLE ,
WITH_INDEX ,
WITH_ADDR ,
WITH_LINE_NUMBER ,
WITH_STACK
|
0400 0000 | 0000 0100 0000 0000 ---- | 67108864 |
ONLY_PUBLIC ,
ONLY_MATCHED ,
CHECK_QUOTE ,
LAST ,
PUBLIC_ONLY
|
0800 0000 | 0000 1000 0000 0000 ---- | 134217728 |
KEEP_LAST_NULL ,
CHECK_TOP ,
TOP ,
OMIT_UNDERSCORED
|
1000 0000 | 0001 0000 0000 0000 ---- | 268435456 |
NO_COMMENT ,
STRICT ,
PACK_BYTES ,
INTOLERANCE
|
2000 0000 | 0010 0000 0000 0000 ---- | 536870912 |
FORCE ,
WITH_EXCEPTION ,
DIRECT ,
LITERAL ,
EVEN_JAVA_CLASS
|
4000 0000 | 0100 0000 0000 0000 ---- | 1073741824 |
MODERATE ,
NOT_STRICT ,
TOLERANCE ,
SPACE_AS_USUAL_CHAR
NO_EXCEPTION ,
SHORT_AS_HEX ,
IGNORE_CASE
|
8000 0000 | 1000 0000 0000 0000 ---- | -2147483648 |
REVERSE ,
WEAK
|
例外について
UTF-8の標準出力と標準エラー出力 hiU.out hiU.err
hiU.out,hiU.errはそれぞれSystem.outとSystem.errを文字コードUTF-8用にオープンし直したものです。
System.out,System.errと同じ様に使用できます。
System.outとSystem.errと同じくPrintStreamとなっています。
PrintWriter化したhiU.out_pw,hiU.err_pwも用意してあります。
バージョン3で他クラスに引き渡されたメソッド
バージョン2ではhiUの多くのメソッドは他クラスで実行され、hiUは中継のみ行っていました。
このためhiUはメソッドが多く、JAVADOC内での検索に支障をきたしていました。
バージョン3ではhiU.i(),hiU.str(),hiU.hex()といったデバグ用の表記を残し、他の中継を取りやめました。
hiUクラスから別クラスに移されたものを以下に載せます。
修飾子とタイプ | クラスと説明 |
---|---|
static interface |
hiU.AcceptTypes
@AcceptTypes.
|
static interface |
hiU.AltName
@AltNames 解釈用代替名
データ解釈時の代替名です。
|
static interface |
hiU.AsBase64
バイト配列をbase64形式で表示する.
|
static interface |
hiU.AsHex
バイト配列を先頭に#を付加した16進表示する
hiU.str()でバイト配列を先頭に#を付加した16進表示します。
|
static interface |
hiU.BiConsumerEx<T,U,X extends Exception>
例外を持つBiConsumer(引数2個、メソッドはaccept).
|
static interface |
hiU.BiFunctionEx<T,U,R,X extends Exception>
例外を持つ引数2個のFunction(メソッドはapply).
|
static interface |
hiU.ConsumerEx<T,X extends Exception>
例外を持つConsumer(引数1個メソッドはaccept).
|
static interface |
hiU.FunctionEx<T,R,X extends Exception>
例外を持つ引数1個Function(戻り値一個メソッドはapply).
|
static interface |
hiU.Optional
@Printable オプショナルフィールド
|
static interface |
hiU.Printable
@Printable 印字可能.
|
static interface |
hiU.PrintAs
@PrintAs 印字フォーマット指定
str(Object) 指定のフォーマットで印字します
|
static interface |
hiU.PrinterIF
hiU のログ機能で使用する仮想プリンタ. |
static interface |
hiU.PrintName
@PrintName 印字用代替名.
|
static interface |
hiU.QuadrConsumerEx<T1,T2,T3,T4,X extends Exception>
例外を持つQuadrConsumer(引数4個、メソッドはaccept).
|
static interface |
hiU.QuadrFunctionEx<T1,T2,T3,T4,R,X extends Exception>
例外を持つ引数4個のFunction(メソッドはapply).
|
static interface |
hiU.RunnableEx<X extends Exception>
例外を持つRunnable(引数無し、メソッドはrun).
|
static interface |
hiU.SupplierEx<R,X extends Exception>
例外を持つSupplier(引数1個、戻り値無し、メソッドはget).
|
static class |
hiU.Trace
ログ/トレースに関するメソッド群
|
static interface |
hiU.TriConsumerEx<T,U,V,X extends Exception>
例外を持つTriConsumer(引数3個、メソッドはaccept).
|
static interface |
hiU.TriFunctionEx<T,U,V,R,X extends Exception>
例外を持つ引数3個のFunction(メソッドはapply).
|
static interface |
hiU.TypeHintField
@TypeHintField.
|
static class |
hiU.UnexpectedEOFException
予期しないEOF.
|
static interface |
hiU.UnPrintable
@UnPrintable 印字しない.
|
修飾子とタイプ | フィールドと説明 |
---|---|
static String |
_v_
ライブラリのバージョン
|
static long |
ADD_BOM
PrintStream生成時にBOMを先頭に付ける(UTF-8のみ).
|
static Pattern |
ALPHA_NUMERIC_STR_EXPR_PAT
英数字文字列の正規表現Pattern.
|
static String |
ALPHA_NUMERIC_STR_EXPR_STR
英数字文字列の正規表現.
|
static long |
APPEND
追加モード.
|
static long |
AS_EMPTY_STRING
nullとせず空文字列とする.
|
static long |
AS_IS
変更を施さずそのまま.
|
static long |
AS_MEMBER
メンバーとして扱う
hiU.str()のオプション。
|
static long |
AS_NO_DISP
nullを表示しない.
|
static long |
AS_NULL
空文字列とせずnullとする
hiText.tokens(String,String,long) 、hiArgs.args(String[],long)
のオプション動作指定として用います。 |
static long |
AS_null_DISP
null時に"null"文字列を表示する.
|
static long |
AS_OBJECT
Objectとして送信する
hiUDPPrintWriter で文字列を単純byte並びではなくJavaのオブジェクトプロトコルで送信します。 |
static long |
AS_SAME_LEVEL
自動toStringでベースクラス要素を引き上げ展開する
自動toString実行時にベースクラスの要素を派生クラスに展開します。
|
static long |
AS_STRING
JSON解析時にbool,doubleを文字列型にする.
|
static long |
AUTO_FLUSH
オートフラッシュモード
テキストファイルオープンでオートフラッシュモード指定を行う。
|
static long |
BODY
BODY部の処理をする
hiText.xmlEscape(String,long)
のオプションに指定すると、引用符などattribute用のエスケープ
は行いません。 |
static long |
BYTE_AS_DEC
byte値表示時に10進数を用いる.
|
static String |
CHAR_SET
hiUで使う標準の文字セット(UTF-8)
|
static Charset |
charSet_UTF8
UTF-8のCharset
|
static long |
CHECK_COMMENT
コメントをチェックする.
|
static long |
CHECK_ESCAPE
'\'(逆スラッシュ)をエスケープとして処理する.
|
static long |
CHECK_QUOTE
引用をチェックする.
|
static long |
CHECK_TOP
先頭をチェックする.
|
static long |
CHECK_UNKNOWN_FIELD
指定フィールドが無い場合エラーとする.
|
static long |
CHECK_UNSET_FIELD
値が設定されないフィールドをチェックする.
|
static long |
CLOSE_EACH_TIME
ファイルを毎回クローズする
hiU管理ログファイルは出力の度にオープン/クローズを行うことが
できる。
|
static long |
CONCAT_STR
引用符の繋がりで結合しない.
|
static long |
DECODE
デコードします
|
static long |
DEEP
深いデータ複製をとる.
|
static long |
DELETE_ON_ERROR
失敗時削除.
|
static long |
DIRECT
直接実行.
|
static long |
DO_NOT_CREATE_FOLDER
ファイル生成時にフォルダは生成しない.
|
static long |
DO_TRIM
空白、null値のトリミングを行う.
|
static long |
DOUBLE_QUOTE_FOR_CHAR
char表示でダブルクオートを使う.
|
static long |
DOUBLE_QUOTE_FOR_MAP_KEY
Mapのキー表示に引用符を付ける
hiU.str(Object,option) による表示でMapのキー引用符が無い場合、付加します。 |
static byte[] |
EMPTY_BYTE_ARRAY
要素数0のbyte配列
|
static int[] |
EMPTY_INT_ARRAY
要素数0のint配列
|
static String |
EMPTY_STRING
空文字列
|
static String[] |
EMPTY_STRING_ARRAY
要素数0の文字列配列
|
static long |
END_AT_EOF
stream読み込みをEOFで正常終了扱いとする.
|
static PrintStream |
err
System.errのUTF-8版.
|
static PrintWriter |
err_pw
System.errのPrintWriter.
|
static long |
EVEN_FINAL_STATIC
final要素にも適用する
hiU.str()などでfinal要素も表示します。
|
static long |
EVEN_JAVA_CLASS
トレース時にJavaクラスからの呼び出し情報にもソース行を付ける.
|
static long |
EVEN_NULL
nullでも実行する.
|
static long |
EVEN_PRIVATE_STATIC
hiU.str()でprivate static変数も表示.
|
static long |
FORCE
強制力を持つ.
|
static long |
HEIGHT
高さを示す.
|
static Charset |
hiU_charSet
hiUで使う標準の文字セット.
|
static long |
IF_EXIST
存在する場合のみ実行する.
|
static long |
IGNORE_CASE
大文字小文字を区別しない.
|
static long |
IGNORE_LEVEL
階層を無視する.
|
static long |
IGNORE_QUOTE
引用符を特別扱いしない.
|
static long |
IGNORE_SPACE
空白を無視する.
|
static long |
IGNORE_TOP_LEVEL
第1階層を無視する.
|
static long |
IGNORE_toString
toStringを無視する.
|
static BufferedReader |
in
System.inのBufferedReader.
|
static BufferedReader |
in_utf8
System.inのBufferedReader.
|
static long |
INDENT_WITH_BAR
インデントにバーを付ける.
|
static long |
INTOLERANCE
厳密さを要求する.
|
static long |
JSON_STYLE
JSON形式をhiU.str()で得るオプション.
|
static long |
JSON_STYLE_WITH_INDENT
JSON形式(インデント付き)をhiU.str()で得るオプション.
|
static String |
KANJI_EXPR_STR
かな漢字の正規表現の範囲指定.
|
static long |
KEEP_BOM
utfファイル、読み込み時にBOMをスキップしない.
|
static long |
KEEP_DELIMITER
デリミッターを保持する.
|
static long |
KEEP_LAST_NULL
hiText.split関数で最後がデリミタの場合最後の空要素を保持する.
|
static long |
KEEP_LINE_SEPARATOR
ファイル読み込み時改行コードを保持する.
|
static long |
KEEP_NULL
null値を保持する.
|
static long |
KEEP_ON_ERROR
エラー時に削除しない.
|
static long |
KEEP_OPEN
ファイルをオープンしっぱなしにする.
|
static long |
KEEP_QUOTE
引用符を保持する.
|
static long |
KEEP_REDUNDANCY
冗長な情報を保持する.
|
static long |
KEEP_SPACE
空白を保持する.
|
static long |
LAST
最後尾を現す.
|
static String |
LINE_SEPARATOR
システムの行分割子
|
static long |
LITERAL
引数を即値とみなす(正規表現扱いしない).
|
static Object |
LOG_LOCK
setTraceFile(),t()の排他ロックオブジェクト.
|
static boolean |
MASTERD
試験用フラグ
|
static long |
MEMORY_SAVE
SAVE_MEMORY と同じ. |
static long |
MIDDLE
中央を現す.
|
static long |
MODERATE
控え目.
|
static long |
NAME_WITH_QUOTE
自動toStringで要素名に引用符をつける.
|
static long |
NO_BEGIN_END
開始終了で囲まない.
|
static long |
NO_COMMENT
コメントを出さない.
|
static long |
NO_ERR_PRINT |
static long |
NO_ESCAPE
エスケープ表現を避ける.
|
static long |
NO_EXCEPTION
例外を投げない.
|
static long |
NO_FLUSH
オートフラッシュモード
テキストファイルオープンで非オートフラッシュモード指定を行う。
|
static long |
NO_GROUP
正規表現の置き換えでグループ参照しない.
|
static long |
NO_LIMIT
最大限度を外す.
|
static long |
NO_LINE_NUMBER
行番号を付加しない.
|
static long |
NO_OPTION
オプション指定のないことを表す.
|
static long |
NO_QUOTE
文字列に引用符を付ける.
|
static long |
NO_QUOTE_CONCAT
引用連結を行わない.
|
static long |
NO_TRIM
空白、null値のトリミングを行わない.
|
static Pattern |
NON_SPACE_EXPR_PAT
1文字の非空白文字を現す正規表現Pattern.
|
static String |
NON_SPACE_EXPR_STR
非空白文字の正規表現文字列.
|
static Pattern |
NON_SPACEs_EXPR_PAT
連続する空白文字を現す正規表現Pattern.
|
static String |
NON_SPACEs_EXPR_STR
連続する非空白文字の正規表現文字列.
|
static long |
NONE
オプション指定のないことを表す.
|
static long |
NOT_STRICT
厳密さを要求しない.
|
static long |
NUMERICAL_REFERENCE
2バイト文字を16進数参照に変換する.
|
static long |
OMIT_CALLER
トレース時に呼び出し元の行番号を表示しない.
|
static long |
OMIT_EMPTY_ELEMENT
空要素を排除する.
|
static long |
OMIT_EMPTY_MAP_ELEMENT
辞書の空要素を排除する.
|
static long |
OMIT_LAST_SPACE
hiText.split関数で最後のデリミタに空白文字のみが連続する場合、要素としない.
|
static long |
OMIT_NULL
nullポインタまたは長さ0の要素を削除する.
|
static long |
OMIT_SPACE
空白を削除する.
|
static long |
OMIT_SUFFIX
hiStack.lineNumber()でファイル名の最後の.javaを削除する
共通フラグ一覧 参照
|
static long |
OMIT_UNDERSCORED
_で始まるまたは終わるフィールドを無視する.
|
static long |
ONLY_FIRST
最初の一個のみ対象とする.
|
static long |
ONLY_MATCHED
マッチしたもののみ.
|
static long |
ONLY_ONE_TARGET
/**
指定のもの以外を無効にする.
|
static long |
ONLY_PUBLIC
public要素のみを表示する.
|
static long |
ONLY_TARGET_CLASS
自動toStringを直接対象クラスについてのみ行う
自動toString時にベースクラスやフィールドに関しては要素展開表示を行いません。
|
static long |
OTHER_NO_LIMIT
対象外のものは限度なしとする.
|
static PrintStream |
out
System.outのUTF-8版.
|
static PrintWriter |
out_pw
System.outのPrintWriter.
|
static long |
PACK_BYTES
byte配列の表示時に4bytesごとにパックする(先頭に#が付く).
|
static long |
PUBLIC_ONLY
public要素のみを表示します.
|
static long |
RETRY
失敗時にリトライをする.
|
static long |
REUSE_ADDR
サーバSocketでアドレスを強制再利用する.
|
static long |
REVERSE
反転指定.
|
static long |
SAVE_MEMORY
メモリ使用量の少ない手法を採用する.
|
static long |
SHALLOW
浅いデータ複製をとる.
|
static long |
SHORT_AS_HEX
byte値表示時に10進数を用いる.
|
static String[] |
SINGLE_EMPTY_STRING_ARRAY
空文字列1個の配列
|
static long |
SINGLE_LINE_STRING
複数行に渡る文字列を許可しない
hiJSONでダブルクオート、シングルクオートによる文字列が複数行に渡るのを許可しない。
|
static long |
SINGLE_REGION
単領域扱いをする.
|
static String |
SJIS_1BYTE_CODE
String#getBytes("Shift_JIS")で1バイトになってしまう全角文字.
|
static long |
SKIP
読み飛ばし指定.
|
static long |
SKIP_FUNC_NAME
hiJSONで関数形式配列記述で関数名を読み飛ばす.
hiJSONで関数形式配列記述で要素が1個の場合、関数名、配列階層を飛ばし1個のObjectとします。
|
static long |
SPACE_AS_DLMT
空白でも分割する.
|
static long |
SPACE_AS_USUAL_CHAR
空白文字を通常の文字扱いする.
|
static Pattern |
SPACE_EXPR_PAT
1文字の空白文字を現す正規表現Pattern.
|
static String |
SPACE_EXPR_STR
空白文字の正規表現文字列.
|
static Pattern |
SPACEs_EXPR_PAT
連続する空白文字を現す正規表現Pattern.
|
static String |
SPACEs_EXPR_STR
連続する空白文字の正規表現文字列.
|
static String |
SPACEs_STR
空白の正規表現"用"文字列.
|
static long |
SPEED
処理速度を重視した手法を採用する.
|
static long |
STR_CONCAT
CONCAT_STR と同じ. |
static long |
STRICT
厳密さを要求する
構文の解析などにおいて、厳密さを要求する.
|
static int |
T_OUTPUT
t(Object...) のトレース設定番号 |
static long |
TARGET_CLASS_ONLY
自動toString表示を直接対象クラスについてのみ行う
自動toString時にベースクラスやフィールドに関しては要素展開表示を行いません。
|
static long |
TARGET_CLASS_toString
対象クラスにtoStringがある場合利用(BASEクラスは無視).
|
static long |
TERSE
短く表示する.
|
static long |
TOLERANCE
厳密さを要求しない.
|
static long |
TOP
先頭を現す.
|
static long |
USE_AT_FIELD
hiU.str()でタイプ名仮想フィールド@class,@typeを置く.
|
static boolean |
use_exception
デフォルト指定の無い値取得で値が無い場合RuntimeExceptionを投げる
|
static Charset |
UTF8
UTF-8のCharset
|
static long |
VERBOSE
冗長な情報を保持する.
|
static long |
WEAK
弱設定指定.
|
static long |
WIDTH
幅を示す.
|
static long |
WITH_ADDR
自動toStringでアドレス相当値を表示する.
|
static long |
WITH_BEGIN_END
開始終了で囲む.
|
static long |
WITH_COLON
キーと値の分離表示にコロンを使う.
|
static long |
WITH_EXCEPTION
異常時にreturn値ではなくRuntimeExceptionを投げる.
|
static long |
WITH_INDENT
インデントを付ける.
|
static long |
WITH_INDEX
インデックス値を表示する.
|
static long |
WITH_LINE_NUMBER
hiStack.parentFuncNameでファイル行番号を付加する
共通フラグ一覧 参照
|
static long |
WITH_NAME
名前を表示する.
|
static long |
WITH_NEW_ID
同一idの場合後ろに_番号を付けて登録する.
|
static long |
WITH_SINGLE_QUOTE
シングルクオートを使う.
|
static long |
WITH_STACK
Exception短縮表示でスタックも表示する.
|
static long |
WITH_TYPE
タイプ名を付ける、またはタイプチェックを行う.
|
修飾子とタイプ | メソッドと説明 |
---|---|
static RuntimeException |
asRuntimeException(Exception exp_)
ExceptionをhiException(RuntimeException)にラップする.
|
static boolean |
atob(String str_)
Boolean文字列をパーズする.
|
static boolean |
atob(String str_,
boolean def_)
Boolean文字列をパーズする.
|
static double |
atod(String str_)
浮動少数文字列をパーズする。
|
static double |
atod(String str_,
double def_)
浮動少数文字列をパーズする.
|
static double |
atod(String str_,
String exMsg_)
浮動少数文字列をパーズする。
|
static int |
atoi(String str_)
整数文字列をパーズする.
|
static int |
atoi(String str_,
int def_)
整数文字列をパーズする.
|
static int |
atoi(String str_,
String msg_)
整数文字列をパーズする.
|
static long |
atol(String str_)
整数文字列をパーズする。
|
static long |
atol(String str_,
long def_)
整数文字列をパーズする。
|
static long |
atol(String str_,
String exMsg_)
整数文字列をパーズする。
|
static String |
className(Object obj_)
Objectのクラス名を得る.
|
static void |
close(Closeable... ios_)
例外を投げないclose.
|
static void |
close(Object... ios_)
Closeableがない1.7以前のシステム用close(廃棄予定)
引数Objectがcloseメソッドを持つ場合呼び出します。
|
static String |
currentFuncName()
カレント関数名を得る.
|
static long |
currentThreadId()
カレントスレッドidを得る.
|
static String |
dtoa(double d_)
doubleの文字列を得る
|
static boolean |
equals(String text1_,
String text2_)
2つStringの単純比較(nullを許す)
Stringにはnullがセットされる場合は良くあります。
|
static <T> boolean |
equals(T obj1_,
T obj2_)
オブジェクトの比較(null可,equals使用)(試験中).
|
static void |
fi(String frmt_,
Object... args_)
関数inのトレース(フォーマットメッセージ付き).
|
static void |
fm(String frmt_,
Object... args_)
関数内でのメッセージ出力(フォーマット付き).
|
static void |
fo(String frmt_,
Object... args_)
関数outのトレース(フォーマットメッセージ付き).
|
static String |
format(String frmt_,
Object... args_)
標準フォーマット変換(Exception無し).
|
static String[] |
funcNameNest()
関数ネストを得る(全段).
|
static String[] |
funcNameNest(int level_)
関数ネストを得る(段数指定).
|
static String[] |
funcNameNest(int start_,
int level_)
指定親レベルからび関数ネストを得る(段数指定).
|
static String |
getStackTrace(Exception ex_)
ExceptionのstackTraceを文字列に得る.
|
static void |
i()
関数inのトレース(付加メッセージなし).
|
static void |
i(Object... msg_)
関数inのトレース(付加メッセージ付き).
|
static void |
i(String msg_)
関数inのトレース(付加メッセージ付き).
|
static void |
ignoreException(hiU.RunnableEx<Exception> func_)
例外を無視する呼び出し.
|
static void |
ignoreException(hiU.RunnableEx<Exception> func_,
long option_)
例外を無視する呼び出し(標準エラー出力あり).
|
static String |
indent(int level_)
階層を表す文字列を作成する.
|
static String |
indent(int level_,
String indent1_,
String indent2_)
階層を文字列(パターン指定)を作成する.
|
static String |
indentBar(int level_)
階層を表すバー付き文字列を作成する.
|
static boolean |
isNull(boolean[] array_)
boolean 配列がnullまたは空であるかチェックする
|
static boolean |
isNull(byte[] array_)
byte 配列がnullまたは空であるかチェックする
|
static boolean |
isNull(char[] array_)
char 配列がnullまたは空であるかチェックする
|
static boolean |
isNull(Collection collection_)
リスト/コレクションがnullまたは空であるかチェックする
|
static boolean |
isNull(double[] array_)
double 配列がnullまたは空であるかチェックする
|
static boolean |
isNull(float[] array_)
float 配列がnullまたは空であるかチェックする
|
static boolean |
isNull(int[] array_)
innt 配列がnullまたは空であるかチェックする
|
static boolean |
isNull(long[] array_)
long 配列がnullまたは空であるかチェックする
|
static boolean |
isNull(Map map_)
Mapがnullまたは空であるかチェックする
|
static boolean |
isNull(Object[] array_)
Object 配列がnullまたは空であるかチェックする
|
static boolean |
isNull(short[] array_)
short 配列がnullまたは空であるかチェックする
|
static boolean |
isNull(String str_)
文字列がnullまたは空文字列であるかをチェックする.
|
static boolean |
isOff(int flags_,
int flag_bit_)
/**
フラグビットがoffか調べる.
|
static boolean |
isOff(long flags_,
long flag_bit_)
/**
フラグビットがoffか調べる.
|
static boolean |
isOn(int flags_,
int flag_bit_)
フラグビットがonか調べる.
|
static boolean |
isOn(long flags_,
long flag_bit_)
フラグビットがonか調べる.
|
static boolean |
isUnix()
システムがUNIXを調べる.
|
static boolean |
isWindows()
システムがWindowsを調べる.
|
static String |
itoa(int i_)
intの文字列を得る.
|
static String |
itoa3(int i_)
intの3桁区切りの文字列を得る.
|
static StringBuilder |
join(StringBuilder sb_,
Iterable objs_,
String dlmt_)
Objectのリストを文字列連結しStringBuilderに付加する.
|
static int |
lastUnitSize(int unitSize_,
int size_)
最後のユニット内のデータ数.
|
static String |
ltoa(long l_)
longの文字列を得る
|
static String |
ltoa3(long l_)
longの3桁区切りの文字列を得る
|
static void |
m(Object... msg_)
関数内でのメッセージ出力.
|
static void |
m(String msg_)
関数内でのメッセージ出力.
|
static String |
memorySizeInfo()
メモリサイズ情報表示を得る.
|
static void |
o()
関数outのトレース(付加メッセージなし).
|
static void |
o(Object... msg_)
関数outのトレース(付加メッセージ付き).
|
static void |
o(String msg_)
関数outのトレース(付加メッセージ付き).
|
static double |
otod(Object obj_)
Objectからdouble値を得る.
|
static int |
otoi(Object obj_)
Objectからint値を得る.
|
static long |
otol(Object obj_)
Objectからlong値を得る.
|
static void |
p(Object... msg_)
関数内でのメッセージ出力.
|
static String |
parentFuncName(int level_)
親関数名を得る.
|
static int |
rand(int xi_)
線形合同法による乱数生成.
|
static RuntimeException |
rap(Exception exp_)
ExceptionをhiException(RuntimeException)にラップする.
|
static <T,U> void |
rap(hiU.BiConsumerEx<T,U,Exception> func_,
T arg_,
U arg2_)
例外を投げるラムダ式をラップし、RuntimeExceptionを投げる.
|
static <T> void |
rap(hiU.ConsumerEx<T,Exception> func_,
T arg_)
例外を投げるラムダ式をラップし、RuntimeExceptionを投げる.
|
static <T1,T2,T3,T4> |
rap(hiU.QuadrConsumerEx<T1,T2,T3,T4,Exception> func_,
T1 arg_,
T2 arg2_,
T3 arg3_,
T4 arg4_)
例外を投げるラムダ式をラップし、RuntimeExceptionを投げる.
|
static void |
rap(hiU.RunnableEx func_)
例外を投げるラムダ式をラップし、RuntimeExceptionを投げる.
|
static <T,U,V> void |
rap(hiU.TriConsumerEx<T,U,V,Exception> func_,
T arg_,
U arg2_,
V arg3_)
例外を投げるラムダ式をラップし、RuntimeExceptionを投げる.
|
static <T,U,R> R |
rapF(hiU.BiFunctionEx<T,U,R,Exception> func_,
T arg_,
U arg2_)
例外を投げる戻り値ありのラムダ式をラップし、RuntimeExceptionを投げる.
|
static <T,R> R |
rapF(hiU.FunctionEx<T,R,Exception> func_,
T arg_)
例外を投げる戻り値ありのラムダ式をラップし、RuntimeExceptionを投げる.
|
static <T1,T2,T3,T4,R> |
rapF(hiU.QuadrFunctionEx<T1,T2,T3,T4,R,Exception> func_,
T1 arg_,
T2 arg2_,
T3 arg3_,
T4 arg4_)
例外を投げる戻り値ありのラムダ式をラップし、RuntimeExceptionを投げる.
|
static <T,U,V,R> R |
rapF(hiU.TriFunctionEx<T,U,V,R,Exception> func_,
T arg_,
U arg2_,
V arg3_)
例外を投げる戻り値ありのラムダ式をラップし、RuntimeExceptionを投げる.
|
static String |
s(String text_)
文字列nullで""を返す単純メソッド.
|
static hiFieldFormat |
str_format()
hiFieldFormatを得る.
|
static String |
str(int[] ints_,
int offset_,
int length_)
intの配列の指定部分を表示する(試験中).
|
static String |
str(Object obj_)
Objectを表示する(toStringを持たないObjectや配列も可)
配列や辞書も表示できます。
|
static String |
str(Object obj_,
long option_)
str(Object) にオプションをつけたもの. |
static void |
str(Object obj_,
long option_,
StringBuilder sb_)
Objectを文字列化する.
|
static String |
str(Throwable ex_) |
static String |
str(Throwable ex_,
long option_)
短縮Exception文字列を得る(スタックトレースなどオプション付き).
|
static String |
str(Throwable ex_,
long option_,
int depth_)
短縮Exception文字列を得る(スタックトレースなどオプション付き).
|
static String |
strs(Object... obj_)
複数オブジェクトの文字表示.
|
static String |
sysCharSet()
システム(仮想マシン)のデフォルトの文字セットを得る.
|
static void |
t(Object... msg_)
TraceまたはTest出力.
|
static void |
tn(int n_,
Object... msg_)
TraceまたはTest出力(設定番号指定あり).
|
static String |
toHankaku(CharSequence val_)
数値文字列を半角化する.
|
static int |
unitNum(int unitSize_,
int size_)
ユニット数。
|
static void |
use_exception(boolean flag_)
デフォルト指定の無い値取得で値が無い場合RuntimeExceptionを投げる
デフォルトではExceptionを投げます。
|
static long |
usedMemory()
使用中のメモリサイズを得る.
|
void |
wait(Object obj_)
明示Exception無しのwait.
|
public static final boolean MASTERD
public static final long NO_OPTION
オプション指定引数の必要な関数でオプション指定がない
場合指定します。値は0です。
NONE
と同じです。
オプション指定の定数は異なる名前でありながら同じ値を持つものも多くあります。
public static final PrintWriter out_pw
System.outのPrintWriterです。文字コードはUTF-8となります。 次の手続きで得られるものと同等です。
new PrintWriter(System.out,true); // trueは自動フラッシュ
public static final PrintStream out
public static final PrintWriter err_pw
System.errのPrintWriterです。文字コードはUTF-8となります。 次の手続きで得られるものと同等です。
new PrintWriter(System.err,true);
public static final PrintStream err
public static final BufferedReader in
System.inのBufferedReaderです。文字コードはシステム標準です。 次の手続きで得られるものと同等です。
new BufferedReader(new InputStreamReader(System.in));
public static final BufferedReader in_utf8
System.inの文字セットutf-8のBufferedReaderです。次の手続きで得られるものと同等です。
new BufferedReader(new InputStreamReader(System.in),"utf-8");
public static final Charset charSet_UTF8
public static final Charset UTF8
public static Charset hiU_charSet
public static String CHAR_SET
public static final long NONE
オプション指定引数の必要な関数でオプション指定がない 場合指定します。値は0です。
// 例
PrintStream ps= hiFile.openPrintStream("test.txt","utf-8",hiU.NONE)
;
共通フラグ一覧 参照
public static final long WITH_EXCEPTION
共通フラグ一覧 参照
public static final long END_AT_EOF
streamが正常にデータ単位の切れ目でEOFとなる場合
Exceptionを発生させず「終了」を返す指定です。
「終了」の示し方はメソッドにより異なります。
hiUで用意されるread関数は原始的なものであるため
このオプションは使用せず、関数そのものが別々で
あり、かつEOF時にはEOFExceptionとhiU.UnexpectedEOFException
を呼び分ける形としています。
共通フラグ一覧 参照
public static final long AS_NO_DISP
hiFieldFormat.option
,
定数フィールド値public static final long TERSE
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long OMIT_CALLER
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long CHECK_ESCAPE
hiText.splitなどで
共通フラグ一覧 参照
public static final long AS_MEMBER
hiU.str()のオプション。ベースクラスをメンバ(_super_)として表示します。
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long EVEN_PRIVATE_STATIC
共通フラグ一覧 参照
public static final long AS_OBJECT
hiUDPPrintWriter
で文字列を単純byte並びではなくJavaのオブジェクトプロトコルで送信します。
共通フラグ一覧 参照
public static final long IGNORE_LEVEL
hiUとしては特に用途を定めていません。
共通フラグ一覧 参照
public static final long IGNORE_TOP_LEVEL
hiText.parseXMLでDocument階層を無視します。
共通フラグ一覧 参照
public static final long AS_SAME_LEVEL
自動toString実行時にベースクラスの要素を派生クラスに展開します。
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long SAVE_MEMORY
hiUとしては特に用途を定めていません。
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long MEMORY_SAVE
SAVE_MEMORY
と同じ.
共通フラグ一覧 参照
public static final long CHECK_UNSET_FIELD
共通フラグ一覧 参照
public static final long BYTE_AS_DEC
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long NO_QUOTE_CONCAT
hiProperty
の解析時に引用連結を行いません。
デフォルトではhiProperty
では定義行の最初が引用符の場合引用連結を行います。
"ab" cd "e'f" 'g"h' 通常 -> abcde'fg"h 指定 -> "ab" cd "e'f" 'g"h'共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long SPEED
hiUとしては特に用途を定めていません。
共通フラグ一覧 参照
public static final long KEEP_QUOTE
hiUでは
hiText.tokens(String,String,long)
、hiArgs.args(String[],long)
のオプション動作指定として用います。
共通フラグ一覧 参照
public static final long KEEP_NULL
hiUとしては特に用途を定めていません。
共通フラグ一覧 参照
public static final long EVEN_NULL
hiUとしては特に用途を定めていません。
共通フラグ一覧 参照
public static final long AS_NULL
hiText.tokens(String,String,long)
、hiArgs.args(String[],long)
のオプション動作指定として用います。
共通フラグ一覧 参照
public static final long DOUBLE_QUOTE_FOR_MAP_KEY
hiU.str(Object,option)
による表示でMapのキー引用符が無い場合、付加します。
これはJSON出力の為に用意された特殊な指定です。この指定をするとMapのキーは必ずダブルクオートで囲まれます。
hiU.NO_QUOTEは無効になりhiU.DOUBLE_QUOTE_FOR_CHARが有効になることに注意が必要です。
共通フラグ一覧 参照
,
定数フィールド値public static final long NO_TRIM
hiText.tokens(String,String,long)
、hiArgs.args(String[],long)
のオプション動作指定として用います。
共通フラグ一覧 参照
public static final long KEEP_LINE_SEPARATOR
hiUとしては特に用途を定めていません。
共通フラグ一覧 参照
public static final long NUMERICAL_REFERENCE
hiText.xmlEscape(String,long)
のオプション動作指定として用います。
public static final long DO_TRIM
public static final long CHECK_UNKNOWN_FIELD
共通フラグ一覧 参照
public static final long DECODE
public static final long KEEP_SPACE
hiText.tokens(String,String,long)
、hiArgs.args(String[],long)
で空白をデリミッター扱いしない指定として仕様します
共通フラグ一覧 参照
public static final long BODY
hiText.xmlEscape(String,long)
のオプションに指定すると、引用符などattribute用のエスケープ
は行いません。
共通フラグ一覧 参照
public static final long SPACE_AS_DLMT
hiText.tokens(String,String,long)
、hiArgs.args(String[],long)
で空白を弱デリミッターとします。
共通フラグ一覧 参照
public static final long STR_CONCAT
CONCAT_STR
と同じ.
共通フラグ一覧 参照
public static final long IGNORE_QUOTE
hiText.tokens(String,String,long)
、hiArgs.args(String[],long)
で引用符を特別扱いしないようにします。
共通フラグ一覧 参照
public static final long NAME_WITH_QUOTE
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long WITH_INDENT
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long INDENT_WITH_BAR
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long WITH_COLON
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long NO_QUOTE
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long WITH_SINGLE_QUOTE
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long DO_NOT_CREATE_FOLDER
ファイル生成時にベースフォルダが無い場合フォルダを生成しない。
この指定が無い場合はフォルダを生成する。
共通フラグ一覧 参照
public static final long SINGLE_LINE_STRING
hiJSONでダブルクオート、シングルクオートによる文字列が複数行に渡るのを許可しない。
この指定があっても逆クオートによる文字列は複数行が可能です。
共通フラグ一覧 参照
public static final long USE_AT_FIELD
@hiU.TypeHintField修飾されている型の表示時に内部に@typeフィールドを置き、指定の文字列が示されます.
共通フラグ一覧 参照
public static final long KEEP_OPEN
hiU管理ログファイルは出力の度にオープン/クローズを行うことが できるが、この指定があるとオープンしたままとなる。
共通フラグ一覧 参照
public static final long CLOSE_EACH_TIME
hiU管理ログファイルは出力の度にオープン/クローズを行うことが できる。この指定があると毎回オープン/クローズを行う
共通フラグ一覧 参照
public static final long RETRY
リトライ間隔やリトライ回数はメソッド毎にことなります。
共通フラグ一覧 参照
public static final long DOUBLE_QUOTE_FOR_CHAR
共通フラグ一覧 参照
public static final long INTOLERANCE
構文の解析などにおいて、厳密さを要求する
共通フラグ一覧 参照
public static final long NOT_STRICT
構文の解析などにおいて、厳密には誤りであっても、許容できるものは許容する
共通フラグ一覧 参照
public static final long TOLERANCE
構文の解析などにおいて、厳密には誤りであっても、許容できるものは許容する
共通フラグ一覧 参照
public static final long SPACE_AS_USUAL_CHAR
文字列解析に於いて空白文字を特別扱いしない
共通フラグ一覧 参照
public static final long SKIP_FUNC_NAME
共通フラグ一覧 参照
public static final long ONLY_ONE_TARGET
setLogFileで指定すると標準エラーへの出力が抑止されます。
共通フラグ一覧 参照
public static final long ONLY_TARGET_CLASS
自動toString時にベースクラスやフィールドに関しては要素展開表示を行いません。
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long TARGET_CLASS_ONLY
自動toString時にベースクラスやフィールドに関しては要素展開表示を行いません。
共通フラグ一覧 参照
public static final long DELETE_ON_ERROR
テキストファイルの書き込みモードオープンで失敗した場合 ファイルを削除します。不正文字コード指定オープンで 空ファイルが作成されることを防ぎます。
共通フラグ一覧 参照
public static final long AUTO_FLUSH
テキストファイルオープンでオートフラッシュモード指定を行う。
共通フラグ一覧 参照public static final long EVEN_FINAL_STATIC
hiU.str()などでfinal要素も表示します。
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long NO_FLUSH
テキストファイルオープンで非オートフラッシュモード指定を行う。
共通フラグ一覧 参照
public static final long ADD_BOM
UTF-8のBOM '0xEFBBBF' をテキストファイルの書き込みオープン時
APPENDで無い場合先頭に付加する.
excel用のファイルを作るなどの特殊用途以外では使うべきではありません。
// 例
PrintStream ps= hiFile.openPrintStream("test.csv","utf-8",hiU.ADD_BOM)
;
ps.println("A,B,B");
共通フラグ一覧 参照
public static final long NO_ERR_PRINT
public static final long IGNORE_toString
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long TARGET_CLASS_toString
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long NO_ESCAPE
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long WITH_NAME
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long WITH_TYPE
自動toStringでタイプ名を表示します。
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long WITH_ADDR
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long WITH_LINE_NUMBER
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long AS_null_DISP
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long CHECK_COMMENT
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long PUBLIC_ONLY
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long ONLY_PUBLIC
PUBLIC_ONLY
と同じ
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long OMIT_EMPTY_ELEMENT
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long OMIT_EMPTY_MAP_ELEMENT
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long JSON_STYLE
JSON形式として成り立つのは文字列のList、配列、辞書などです。
hiU.WEAK |hiU.WITH_COLON|hiU.NO_LIMIT|hiU.AS_null_DISP |hiU.AS_SAME_LEVEL|hiU.NAME_WITH_QUOTE|hiU.USE_AT_FIELD |hiU.OMIT_EMPTY_MAP_ELEMENT|hiU.OMIT_EMPTY_ELEMENT |hiU.DOUBLE_QUOTE_FOR_CHAR;
シングルクオートにしたい場合はhiU.JSON_STYLE|hiU.WITH_SINGLE_QUOTEと 指定してください。
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long JSON_STYLE_WITH_INDENT
public static final long KEEP_LAST_NULL
split関数の仕様をJavaの標準ライブラリに合わせてあります。
JavaのStringのsplitは文字列の最後がデリミタの ",a,".split(","); では理屈上 [, a, ] [ 空 a 空 ] となるべきところ最後の空要素が作られず [, a] [ 空 a ] となってしまう仕様となっています。
hiText.split関数ではオプションでhiU.KEEP_LAST_NULLを付けると 最後の空要素が作られます
共通フラグ一覧 参照
public static final long OMIT_UNDERSCORED
共通フラグ一覧 参照
public static final long OMIT_LAST_SPACE
共通フラグ一覧 参照
public static final long OMIT_SUFFIX
共通フラグ一覧 参照
public static final long PACK_BYTES
共通フラグ一覧 参照
public static final long FORCE
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final long EVEN_JAVA_CLASS
共通フラグ一覧 参照
public static final long SHORT_AS_HEX
共通フラグ一覧 参照
hiFieldFormat.option
,
定数フィールド値public static final String[] SINGLE_EMPTY_STRING_ARRAY
public static final String[] EMPTY_STRING_ARRAY
public static final int[] EMPTY_INT_ARRAY
public static final byte[] EMPTY_BYTE_ARRAY
public static final String SPACEs_STR
全角空白を含む空白文字列です。次のようになっています
" \t\r\n\f\b\u3000"
これ自体では空白文字の並びにすぎないことに注意してください。
public static final String SPACE_EXPR_STR
全角空白を含む空白文字の正規表現です。次のようになっています
"[ \t\r\n\f\b\u3000]"
例えば次の様な使い方ができます。
//String text; // 空白文字を消去する String text_with_no_space= text.replaceAll(SPACE_EXPR_STR,"");
public static final String NON_SPACE_EXPR_STR
非空白文字(全角空白を含む)の正規表現です。次のようになっています
"[^ \t\r\n\f\b\u3000]"
public static final String SPACEs_EXPR_STR
連続する全角空白を含む空白文字の正規表現です。次のようになっています
"[ \t\r\n\f\b\u3000]+"
例えば次の様な使い方ができます。
String text="ab cd e f";// bとcの間は2個の空白。dとeの間は全角空白 String texts[]= text.split(SPACEs_EXPR_STR); // 「ab」「cd」「e」「f」 String texts[]= text.split(SPACE_EXPR_STR); // 「ab」「」「cd」「e」「f」
public static final String NON_SPACEs_EXPR_STR
連続する非空白文字(全角空白を含む)の正規表現です。次のようになっています
"[^ \t\r\n\f\b\u3000]+"
public static final Pattern SPACE_EXPR_PAT
次の作業で得られるものと同等です。
Pattern.compile(hiU.SPACE_EXPR_STR);
public static final Pattern NON_SPACE_EXPR_PAT
Pattern.compile(hiU.SPACE_EXPR_STR);
public static final Pattern SPACEs_EXPR_PAT
Pattern.compile(hiU.SPACE_EXPR_STR+"+");
public static final Pattern NON_SPACEs_EXPR_PAT
Pattern.compile(hiU.SPACE_EXPR_STR+"+");
public static final String ALPHA_NUMERIC_STR_EXPR_STR
"^[a-zA-Z_0-9]*$"
public static final Pattern ALPHA_NUMERIC_STR_EXPR_PAT
Pattern.compile(hiU.ALPHA_NUMERIC_STR_EXPR_STR
);
public static final String KANJI_EXPR_STR
かな漢字のUniCode範囲の文字列です。
次のように正規表現の範囲指定の一部として使用できます。
String namePattern="[a-zA-Z_"+hiU.KANJI_EXPR_STR+"]" +"[a-zA-Z_0-9"+hiU.KANJI_EXPR_STR+"]*"; Pattern p= Pattern.compile(namePattern);
長音記号、中点や繰り返し記号も含みます。次のコード範囲となっています。
4e00-9fa5(漢字) 3041-3094(かな) 309b-309e(かな記号) 30a1-30fc(カタカナ)
文字列の中に直接UniCodeで文字が埋められている形となります。
"一-龥ぁ-ゔ゛-ゞァ-ー"
public static String SJIS_1BYTE_CODE
次の文字はString#getBytes("Shift_JIS")で1バイトになってしまいます。
~,―,-
hiText.length2(str)
関数で予めこれらは
2バイトになる全角文字に置き換えた上で長さを取得しています。
他の全角/半角取扱い関数でもこれが参照されています。
正規表現の形で置いてあります。
public static String SJIS_1BYTE_CODE="[~―-]";
これ以外の文字で対処したいものがある場合、この定義を変更する必要があります。
public static String LINE_SEPARATOR
public static Object LOG_LOCK
public static boolean use_exception
public static int T_OUTPUT
t(Object...)
のトレース設定番号public static void ignoreException(hiU.RunnableEx<Exception> func_)
func_
- 実行する式public static void ignoreException(hiU.RunnableEx<Exception> func_, long option_)
func_
- 実行する式option_
- オプション hiU.WITH_STACK (調整の可能性あり)public static final RuntimeException rap(Exception exp_)
ExceptionからRuntimeExceptionを得ます。引数がRuntimeException の場合キャストして戻します。RuntimeExceptionでない場合 新たなRuntimeExceptionを生成し、その引数とします。
次のような使い方をします。
void func(){// Exceptionを返さない関数 try{ func2();// Exceptionを返す関数 } catch(Exception ex_){ throw hiU.rap(ex_); } }
interfaceの関数の多くがExceptionを特定しており、実装で
発生するExceptionをそのまま投げることができません。
通常RuntimeExceptionでラップしますが、無意味にラップが
重なることがあります。この関数は極めて単純なものですが、
無意味なRuntimeExceptionの重ね着を避けることができます。
exp_
- 例外public static final RuntimeException asRuntimeException(Exception exp_)
ExceptionをRuntimeExceptionでラップします。
ただしラップしようとするExceptionがRuntimeExceptionの場合はそのまま返します。
無用なRutimeExceptionの重なりは発生しません
@Override public void run(){// throws Exxceptionにできない try{ foo();// throws Exceptionを持つメソッド } catch(Exception _ex){ throw hiU.asRuntimeException(_ex); } }
exp_
- 例外public static final void rap(hiU.RunnableEx func_)
Exceptionを投げる可能性のあるラムダ式のExceptionをRuntimeExceptionでラップします。
func_
- 引数を持たないラムダ式public static final <T> void rap(hiU.ConsumerEx<T,Exception> func_, T arg_)
例えば例外を投げるラムダ式を受けるthrows無の関数は次のように実現できます。
public void doIt(hiU.ConsumerEx<String,Exception> func_,String arg_){ hiU.rap(func_,arg_); }
T
- 引数型func_
- ラムダ式arg_
- ラムダ式に与える引数public static final <T,U> void rap(hiU.BiConsumerEx<T,U,Exception> func_, T arg_, U arg2_)
T
- 第1引数型U
- 第2引数型func_
- ラムダ式arg_
- ラムダ式に与える引数arg2_
- ラムダ式に与える第2引数public static final <T,U,V> void rap(hiU.TriConsumerEx<T,U,V,Exception> func_, T arg_, U arg2_, V arg3_)
T
- 第1引数型U
- 第2引数型V
- 第3引数型func_
- ラムダ式arg_
- ラムダ式に与える引数arg2_
- ラムダ式に与える第2引数arg3_
- ラムダ式に与える第3引数public static final <T1,T2,T3,T4> void rap(hiU.QuadrConsumerEx<T1,T2,T3,T4,Exception> func_, T1 arg_, T2 arg2_, T3 arg3_, T4 arg4_)
T1
- 第1引数型T2
- 第2引数型T3
- 第3引数型T4
- 第4引数型func_
- ラムダ式arg_
- ラムダ式に与える引数arg2_
- ラムダ式に与える第2引数arg3_
- ラムダ式に与える第3引数arg4_
- ラムダ式に与える第4引数public static final <T,R> R rapF(hiU.FunctionEx<T,R,Exception> func_, T arg_)
T
- 第1引数型R
- 戻り値型func_
- ラムダ式arg_
- ラムダ式に与える引数public static final <T,U,R> R rapF(hiU.BiFunctionEx<T,U,R,Exception> func_, T arg_, U arg2_)
T
- 第1引数型U
- 第2引数型R
- 戻り値型func_
- ラムダ式arg_
- ラムダ式に与える引数arg2_
- ラムダ式に与える第2引数public static final <T,U,V,R> R rapF(hiU.TriFunctionEx<T,U,V,R,Exception> func_, T arg_, U arg2_, V arg3_)
T
- 第1引数型U
- 第2引数型V
- 第3引数型R
- 戻り値型func_
- ラムダ式arg_
- ラムダ式に与える引数arg2_
- ラムダ式に与える第2引数arg3_
- ラムダ式に与える第3引数public static final <T1,T2,T3,T4,R> R rapF(hiU.QuadrFunctionEx<T1,T2,T3,T4,R,Exception> func_, T1 arg_, T2 arg2_, T3 arg3_, T4 arg4_)
T1
- 第1引数型T2
- 第2引数型T3
- 第3引数型T4
- 第4引数型R
- 戻り値型func_
- ラムダ式arg_
- ラムダ式に与える引数arg2_
- ラムダ式に与える第2引数arg3_
- ラムダ式に与える第3引数arg4_
- ラムダ式に与える第4引数public static void use_exception(boolean flag_)
デフォルトではExceptionを投げます。
flag_
- true:投げる、false:投げないpublic static void i()
スレッドid、ネストを表す縦バーの並び、-->、関数名 の形のメッセージを出力します。
プログラム例 hiU.i(); 出力例 0001 | | | -->TraceSample.woo
public static void i(String msg_)
スレッドid、ネストを表す縦バーの並び、-->、関数名、付加メッセージ の形のメッセージを出力します。
プログラム例 hiU.i("i="+i); 出力例 0001 | | | -->TraceSample.woo i=4
引数がnullの場合"nuLL"と表示されます。
msg_
- 付加メッセージpublic static void fi(String frmt_, Object... args_)
スレッドid、ネストを表す縦バーの並び、-->、関数名、付加メッセージ の形のメッセージを出力します。
プログラム例 hiU.fi("s=\"%s\",i=%d",s,i); 出力例 0001 | | | -->TraceSample.woo s="abc",i=4
フォーマット異常の場合はformat(String,Object...)
に従います。
frmt_
- 付加メッセージフォーマットargs_
- 引数(不定個)public static void i(Object... msg_)
スレッドid、ネストを表す縦バーの並び、-->、関数名 の形のメッセージを出力します。
プログラム例
String[] foo2(int ai[]){
if(D) hiU.i("ai=",ai);
String[] as= new String[ai.length];
for(int idx=0;idx < ai.length;++idx){
as[idx]="ai["+idx+"]="+ai[idx];
}
if(D) hiU.o("as=",as);
return as;
}
出力例
0001 | | | -->TraceSample.foo2 ai=[3, 4, 7, 11]
引数は6個まで書くことができます。各引数の展開形の間には空白が置かれます。
補足-1:
引数がArrayListなどの場合はArrayListのtoString()で[n, n, n]という
表示が得られます。
staticインスタンスhiFieldFormat.defaultFrmt
を使っています。
このインスタンスの設定を変更すればデリミッターなどの変更が可能です。
m(Object...)
の表示にも反映されます。
補足-2:
可変引数としていないのは可変引数にすると、String配列などを与えたときに
無用のワーニングが出るためです。
msg_
- 付加メッセージpublic static void o()
スレッドid、ネストを表す縦バーの並び、<--、関数名 の形のメッセージを出力します。
プログラム例 hiU.o(); 出力例 0001 | | | <--TraceSample.woo
public static void o(String msg_)
スレッドid、ネストを表す縦バーの並び、<--、関数名、付加メッセージ の形のメッセージを出力します。
プログラム例 hiU.o("ret="+i); 出力例 0001 | | | <--TraceSample.woo ret=4
msg_
- 付加メッセージpublic static void fo(String frmt_, Object... args_)
スレッドidなどのフォーマット、ネストを表す縦バーの並び、<--、関数名、付加メッセージ の形のメッセージを出力します。
プログラム例 hiU.fo("s=%s;ret=%d",s,ret); 出力例 0001 | | | <--TraceSample.woo s=XYZ;ret=4
フォーマット異常の場合はformat(String,Object...)
に従います。
frmt_
- フォーマットargs_
- 引数列public static void o(Object... msg_)
プログラム例 String[] foo2(int ai[]){ if(D) hiU.i("ai=",ai); String[] as= new String[ai.length]; for(int idx=0; idx < ai.length; ++idx){ as[idx]="ai["+idx+"]="+ai[idx]"; } if(D) hiU.o(as); return as; } 出力例 0001 | | | <--TraceSample.foo2 as=[ai[0]=3, ai[1]=4, ai[2]=7, ai[3]=11]
msg_
- 付加メッセージpublic static void m(String msg_)
スレッドidなどのフォーマット、ネストを表す縦バーの並び、付加メッセージ の形のメッセージを出力します。
プログラム例 hiU.m("message i="+i); 出力例 0001 | | | | message i=5
i(),o()の矢印部("-->","<--")が空白に置き換わったものです。
i()を持たない関数内でm()だけを発行すると、"- >"で関数名が
出力されます。
msg_
- 付加メッセージpublic static void fm(String frmt_, Object... args_)
スレッドid、ネストを表す縦バーの並び、付加メッセージ の形のメッセージを出力します。
プログラム例 hiU.fm("message s=%s,i=%d",s,i); 出力例 0001 | | | | message s=abc,i=5
i(),o()の矢印部("-->","<--")が空白に置き換わったものです。
i()を持たない関数内でm()だけを発行すると、"- >"で関数名が
出力されます。
フォーマット異常の場合はformat(String,Object...)
に従います。
frmt_
- フォーマットargs_
- 引数列public static void m(Object... msg_)
スレッドid、ネストを表す縦バーの並び、付加メッセージ の形のメッセージを出力します。
プログラム例 hiU.m("ai=",ai); // ai:intの配列として 出力例 0001 | | | | ai=[4, 7, 3, 9]
i(),o()の矢印部("-->","<--")が空白に置き換わったものです。
i()を持たない関数内でm()だけを発行すると、"- >"で関数名が
出力されます。
引数が配列の場合は要素の数20個まで、階層は2レベルまで展開
されます。数、階層に制限を設けているのは思わぬ大量の出力を
生成しないためです。
なお+を用いて標準のString演算を行った場合は配列は展開されず
プログラム例 hiU.m("ai="+ai); // ai:intの配列として 出力例 0001 | | | | ai=[I@2e7263
といった表示となります。
msg_
- 付加メッセージpublic static void p(Object... msg_)
hiU.m(msg)
からネスト表示を取り去った
形のメッセージを出力します。
プログラム例 hiU.p("ai=",ai); // ai:intの配列として 出力例 0001 ai=[4, 7, 3, 9]
msg_
- メッセージpublic static String strs(Object... obj_)
obj_
- 文字列化したいObjectpublic static String str(Object obj_)
配列や辞書も表示できます。 引数objectがtoStringを持たないクラスの場合でもクラスの要素の値を表示することができます。
obj_
- 文字列化したいObjectpublic static final String str(Object obj_, long option_)
str(Object)
にオプションをつけたもの.obj_
- 文字列化したいObjectoption_
- 表示オプションhiFieldFormat.option
public static String str(int[] ints_, int offset_, int length_)
ints_
- 表示する配列offset_
- 開始位置length_
- 長さpublic static final hiFieldFormat str_format()
longで指定する以外のstr()オプションを指定する場合次のような使い方をします。
hiU.str_format() .str_disable_option(hiU.OMIT_EMPTY_ELEMENT) // 空要素も表示する .str_depth(2) // 2段目の階層まで表示 .str(xxxx); hiU.str(xxxx); // 前回の設定の影響を受けない
public static final void str(Object obj_, long option_, StringBuilder sb_)
obj_
- 文字列化するデータoption_
- オプションsb_
- 文字列を入れるStringBuilderhiFieldFormat.option
public static final String str(Throwable ex_, long option_)
クラス名とメッセージからなる短縮表現を得ます。
hiU.WITH_STACKオプションを付けるとスタックトレースが表示されます。
ファイル名とクラス名が一致する場合はファイル名は省略されます。
ex_
- 例外option_
- オプション (hiU.WITH_STACK)public static final String str(Throwable ex_, long option_, int depth_)
depth_スタックレベルの最小連続個数を指定できます。例えば2を指定した場合、 スタックが7段だとすると最深部2段、省略3段、最浅部2段が表示されます。デフォルトは32段となっています。
ex_
- 例外option_
- オプションdepth_
- 最小連続階層public static String format(String frmt_, Object... args_)
String.format()のExceptionを回避します。
*フォーマット異常の場合は、異常内容に続いて、フォーマット文字列
各引数のtoString()文字列を並べた文字列を返します。
例えば、次のような引数(%dに対して文字列)
String msg1=hiU.format("s1=%s d1=%d","abc",17);
を与えると次の文字列が得られます。
s1=abc d1=17
フォーマットの間違いがあると、エラーメッセージが付加されます。 例えば次のように"%d"に文字列を与えると
String msg2=hiU.format("s1=%s d1=%d","abc","xyz");
エラーメッセージが付加された文字列となります。
d != java.lang.String:s1=%s d1=%d;abc;xyz
format記述の詳細はFormatter
にあります。
基本形はC言語のprintfの形式と同じで
%{フラグ}{幅}{.精度}
です。
例えば次のような指定ができます。
%d | 単純整数 | 10 | int i=10 |
%04X | 0フィルした16進数 | 000A | int i=10 |
%.2f | 小数点以下2桁 | 123.45 | double d=123.456 |
frmt_
- フォーマットargs_
- 引数列public static void t(Object... msg_)
T_OUTPUT
(デフォルト0)番のトレース設定に出力します。
hiU.t("abc")はhiU.tn(hiU.T_OUTPUT,"abc")と同じです。
出力先はhiU.Trace.setTraceFile(int,String,long)
または環境変数hiTRACEで設定できます。
無設定の場合は標準エラーに出力されます。
msg_
- 出力したいメッセージオブジェクト;多重化した配列なども表示できます。
public static void tn(int n_, Object... msg_)
指定番のトレース設定に出力します。
出力先はhiU.Trace.setTraceFile(int,String,long)
または環境変数hiTRACEで設定できます。
無設定の場合は標準エラーに出力されます。
n_
- トレース設定番号指定msg_
- 出力したいメッセージオブジェクト;多重化した配列なども表示できます。
public static String[] funcNameNest(int level_)
level_
- 取得する最大段数public static String[] funcNameNest(int start_, int level_)
start_
- 開始位置level_
- 取得する最大段数public static String[] funcNameNest()
public static String currentFuncName()
public static String parentFuncName(int level_)
level_
- 0:自分,1:親,2:親の親hiU.currentFuncName()
,
hiU.parentFuncName()
,
hiU.currentThreadId()
public static long currentThreadId()
次の操作と同等です。
Thread.currentThread().getId()
currentFuncName()
,
parentFuncName(int)
public static String indentBar(int level_)
指定の階層分、階層を表す文字列を作成します。
負の場合長さ0の文字列が返ります。
正の場合指定値の下位1バイトのみ使用されます。
level_
- ネストレベルpublic static String indent(int level_)
level_
- ネストレベルpublic static String indent(int level_, String indent1_, String indent2_)
level_
- ネストレベルindent1_
- インデントに用いる文字列1indent2_
- インデントに用いる文字列2public static String className(Object obj_)
次のコードと同じです。
Object o; // oにクラスセット String name= o==null?"nuLL":o.getClass().getSimpleName();
obj_
- 対象Objectpublic static void close(Closeable... ios_)
close()呼び出しで例外が投げられないようにします。
必ずしもファイル用とは限りませんのでhiUに置いてあります。
ios_
- closeしたいioインスタンス並びpublic static void close(Object... ios_)
引数Objectがcloseメソッドを持つ場合呼び出します。
ios_
- closeしたいioインスタンス並びpublic static final String sysCharSet()
次の操作と同等です。
String charset = java.nio.charset.Charset.defaultCharset().name();
public static final int atoi(String str_)
整数文字列をパーズします。前方の空白と、後方の非整数文字列は無視されます。
例:" 12xxx"->12
hiU.use_exception
をtrueにすると、パーズ失敗時に
例外を投げます。falseの場合0を返します。
str_
- パーズする文字列RuntimeException
- 形式異常public static final int atoi(String str_, String msg_)
整数文字列をパーズします。前方の空白と、後方の非整数文字列は無視されます。
例:" 12xxx"->12
パーズに失敗するとmsg_を理由をcauseとしメッセージとするhiExceptionが投げられます。
str_
- パーズする文字列msg_
- Exceptionに重ねるメッセージpublic static final int atoi(String str_, int def_)
整数文字列をパーズします。前方の空白と、後方の非整数文字列は無視されます。
例:" 12xxx"->12
パーズに失敗するとdef_が返ります。
str_
- パーズする文字列def_
- パーズできなかった場合の値public static final int otoi(Object obj_)
toString()で文字列化した後intにパーズします
obj_
- オブジェクトpublic static final String itoa(int i_)
Integer.toString()の代わりに用意されました。 0~999の間の数の変換が高速化されています。
i_
- 数値public static final String itoa3(int i_)
i_
- 数値public static long atol(String str_)
浮動少数文字列をパーズします。
hiU.use_exception
をtrueにすると、パーズ失敗時に
例外を投げます。falseの場合0を返します。
str_
- パーズする文字列public static long atol(String str_, String exMsg_)
浮動少数文字列をパーズします。
パーズ失敗時は"固定メッセージ;"+exMsg_を持つRuntimeExceptionを投げます。
str_
- パーズする文字列exMsg_
- パーズ失敗時に例外メッセージに付加する文字列public static long atol(String str_, long def_)
浮動少数文字列をパーズします。
パーズ失敗時にはdef_が返ります。
str_
- パーズする文字列def_
- パーズできなかった場合の値public static final long otol(Object obj_)
toString()で文字列化した後longにパーズします
obj_
- オブジェクトpublic static String ltoa(long l_)
l_
- 数値public static final String ltoa3(long l_)
l_
- 数値public static String toHankaku(CharSequence val_)
val_
- 全角数値public static double atod(String str_)
hiU.use_exception
をtrueにすると、パーズ失敗時に
例外を投げます。falseの場合0を返します。
str_
- パーズする文字列public static double atod(String str_, String exMsg_)
パーズ失敗時は"固定メッセージ;"+exMsg_を持つRuntimeExceptionを投げます。
str_
- パーズする文字列exMsg_
- パーズ失敗時に例外メッセージに付加する文字列public static double atod(String str_, double def_)
str_
- パーズする文字列def_
- パーズできなかった場合の値public static final double otod(Object obj_)
toString()で文字列化した後doubleにパーズします
obj_
- オブジェクトpublic static String dtoa(double d_)
d_
- 数値public static boolean atob(String str_, boolean def_)
str_
- パーズする文字列def_
- パーズできなかった場合の値public static final boolean atob(String str_)
文字は大文字小文字は問いません。
次の文字列は肯定(true)と判断されます。
true,yes,affirmative,ok,on,1以上の整数
次の文字列は否定(false)と判断されます。
false,no,negative,ng,off,not,none,0以下の整数
str_
- パーズする文字列public static final boolean isNull(String str_)
文字列が空であることのプログラム上の表現はnullと""が混在します。
この関数は極めて単純なものですが、バグ回避に大きく貢献する
現実重視のものです。
// String strとして if( hiU.isNull(str) ) {...} // は if( sts==null || str.length()==0 ) {...} // と同じ
str_
- 文字列public static final boolean isNull(Collection collection_)
collection_
- チェックするリスト/コレクションpublic static final boolean isNull(Map map_)
map_
- チェックするマップpublic static final boolean isNull(Object[] array_)
array_
- チェックする配列public static final boolean isNull(int[] array_)
array_
- チェックする配列public static final boolean isNull(char[] array_)
array_
- チェックする配列public static final boolean isNull(byte[] array_)
array_
- チェックする配列public static final boolean isNull(double[] array_)
array_
- チェックする配列public static final boolean isNull(float[] array_)
array_
- チェックする配列public static final boolean isNull(boolean[] array_)
array_
- チェックする配列public static final boolean isNull(short[] array_)
array_
- チェックする配列public static final boolean isNull(long[] array_)
array_
- チェックする配列public static final boolean isOn(int flags_, int flag_bit_)
単純操作ですが、意味を明確に示すために導入しました。
次の2つは同等です if( (flags_&flag_bit_)!=0 ) ... if( hiU.isOn(flags_,flag_bit_) ) ...
flags_
- フラグ並びflag_bit_
- フラグビットpublic static final boolean isOn(long flags_, long flag_bit_)
単純操作ですが、意味を明確に示すために導入しました。
次の2つは同等です if( (flags_&flag_bit_)!=0 ) ... if( hiU.isOn(flags_,flag_bit_) ) ...
flags_
- フラグ並びflag_bit_
- フラグビットpublic static final boolean isOff(int flags_, int flag_bit_)
単純操作ですが、意味を明確に示すために導入しました
次の2つは同等です if( (flags_&flag_bit_)==0 ) ... if( hiU.isOff(flags_,flag_bit_) ) ...
flags_
- フラグ並びflag_bit_
- フラグビットpublic static final boolean isOff(long flags_, long flag_bit_)
単純操作ですが、意味を明確に示すために導入しました
次の2つは同等です if( (flags_&flag_bit_)==0 ) ... if( hiU.isOff(flags_,flag_bit_) ) ...
flags_
- フラグ並びflag_bit_
- フラグビットpublic static boolean equals(String text1_, String text2_)
Stringにはnullがセットされる場合は良くあります。 そのままequals比較を行いExceptionを発生させてしまうことも 良くあります。この関数は2つのStringのどちらもnullを ゆるし、かつnullは長さ0の文字列と等しいとして比較します。
// String text1,text2として boolean b= hiU.equals(text1,text2); は boolean b; if(text1==null || text1.length()==0 ){ b= (text2==null)||(text2.length()==0); } else{ b= text1.equals(text2); } と同じです。
text1_
- 文字列(null可)text2_
- 文字列(null可)public static int unitNum(int unitSize_, int size_)
極めて単純な計算式なのですが毎回考えるのは面倒なので
用意しました。
式は
(size-1)/unitSize+1
です。
ユニットサイズが8の場合、0->0 1~8->1 9~17->2 という値が
得られます。
unitSize_
- ユニットの長さ、バイトであれば8size_
- データサイズpublic static int lastUnitSize(int unitSize_, int size_)
unitSize_
- ユニットの長さ、バイトであれば8size_
- データサイズpublic static String getStackTrace(Exception ex_)
hiStack.getStackTrace(Exception)
の別名ex_
- スタックトレースを得たいExceptionpublic static long usedMemory()
使用中のメモリサイズを次のようにして得ます。
Runtime runtime= Runtime.getRuntime(); runtime.totalMemory()-runtime.freeMemory();
public static String memorySizeInfo()
次の文字列が得られます。
used:使用 free:空き total:全
public static StringBuilder join(StringBuilder sb_, Iterable objs_, String dlmt_)
sb_
- ここに追加されるobjs_
- オブジェクトのリストdlmt_
- 区切り記号public void wait(Object obj_)
次の操作と同等です。
try{ obj_.wait(); } catch(Exception _ex){throw hiU.asRuntimeException(_ex);}
obj_
- waitするオブジェクトpublic static final boolean isUnix()
次のコードと同等です。
File.separatorChar=='/'
public static final boolean isWindows()
次のコードと同等です。
File.separatorChar=='\\'
public static int rand(int xi_)
システムによらず決定的な乱数を得たい場合に用いること
ができます。
得られる値は0~16383(<0x4000)の間になります。
例えば次のようなプログラムで、毎回同じ乱数値をセット
することができます。
byte[] data= new byte[256]; int xi = 0xAA; for(int idx=0;idx < data.length;++idx){ xi = hiU.rand(xi); data[idx]= (byte)xi; }
a=12869,b=6925,m=0x4000とした線形合同法による擬似乱数
生成を行います。
次の記述と同等です。
int xi =//適当に int xii=(xi*12869+6925)%0x4000;
xi_
- 値public static <T> boolean equals(T obj1_, T obj2_)
T
- 型obj1_
- オブジェクトobj2_
- オブジェクト