API
APIからアクセスできる機能(例:Windows)
- ベースサービス(ファイルシステム,デバイス,プロセス,スレッド,レジストリ,例外処理)
- GUI(描画,コントロール(UI要素),マウス・キーボード入力,ダイアログ)
- シェル
- ネットワークサービス(RPC等)
Win32の特徴
- ポインタとハンドルが32ビット化
- Unicode対応(そのため、APIごとにマルチバイト文字版とUnicode版がある)
ラッパーライブラリ
- MFC:C++クラスによるWindows APIのラッパー
- ATL:テンプレートによるCOMのラッパー
- WTL:ATL拡張。オープンソース
LinuxのAPI
主要API
解析
互換性のためのAPIを作成するためにそのAPIの実装を解析することは一般的に合法である
逆引きAPI
| 機能 |
Java |
| 文字数を求める |
len,length |
| バイト数を求める |
getBytes |
| 1文字取り出す |
charAt |
| 文字配列に変換 |
toCharArray |
| 前後の空白を削除 |
trim |
| (後ろに)追加 |
append |
| 挿入 |
insert |
| 削除 |
delete |
| ひっくりかえす |
reverse |
| 前から検索 |
indexOf |
| 後ろから検索 |
lastIndexOf |
| 値を文字列に変換 |
valueOf |
| 大文字→小文字 |
toLowerCase |
| 小文字→大文字 |
toUpperCase |
| 接頭辞調査 |
startsWith |
| 接尾辞調査 |
endsWith |
| 文字列比較 |
equals |
| *文字列を辞書順比較 |
compareTo |
| 大文字小文字無視比較 |
equalsIgnoreCase |
| 大文字小文字無視辞書順比較 |
compareToIgnoreCase |
| 数字かどうか |
isDigit |
| アルファベットかどうか |
isLetter |
| 数字orアルファベットかどうか |
isLetterDigit |
| 小文字かどうか |
isLowerCase |
| 大文字かどうか |
isUpperCase |
| 文字を数値に変換 |
digit |
| 数値を文字に変換 |
forDigit |
| 四捨五入 |
round,setScale |
| 文字列を数値に変換 |
parseInt |
| 数値を文字列に変換 |
toString |
| 小数点以下切り上げ |
ceil |
| 小数点以下切り下げ |
floor |
| 絶対値 |
abs |
| 指数 |
exp |
| 自然対数 |
log |
| 累乗 |
pow |
| 平方根 |
sqrt |
| 乱数 |
random |
| 角度→ラジアン |
toRadians |
| ラジアン→角度 |
toDegrees |
| sinθ |
sin |
| cosθ |
cos |
| tanθ |
tan |
| アークサイン |
asin |
| アークコサイン |
acos |
| アークタンジェント |
atan |
| 配列→リスト |
asList |
| ソート |
sort |
| 検索 |
binarySearch |
| 要素で埋め尽くす |
fill |
| 追加 |
add |
| 複数追加 |
addAll |
| 挿入 |
add |
| 複数挿入 |
addAll |
| 取得 |
get |
| 要素数を求める |
size |
| リスト→配列 |
toArray |
| ソート |
sort |
| 検索 |
binarySearch |
| キー/値を格納 |
put |
| キーで値を取得 |
get |
| キーの数 |
size |
| 全キー取得 |
keySet |
| 全値取得 |
values |
| キー/値を削除 |
remove |
| 全削除 |
clear |
| 空きメモリ容量 |
freeMemory |
| 全メモリ容量 |
totalMemory |
| 現在の日時 |
getinstance & get |
| n日後の日付 |
add |
| 月の日数 |
getActualMaximum |
| うるう年かどうか |
isLeapYear |
| 経過時間をカレンダーに変換 |
setTime |
| 開く |
open |
| 閉じる |
close |
| 1文字ずつ読み込む |
read |
| 1行ずつ読み込む |
readLine |
| 1文字ずつ書き込む |
write |
| 1行ずつ書き込む |
write |
| ファイルがあるかどうか |
exists |
| ファイルかどうか |
isFile |
| ディレクトリかどうか |
isDirectory |
| 読み込み可能かどうか |
canRead |
| 書き込み可能かどうか |
canWrite |
| ファイルサイズ |
length |
| 絶対パスを取得 |
getAbsolutePath |
| ディレクトリ内の全ファイル名を取得 |
list |
| 更新日時を取得 |
lastModified |
| ファイルを作成 |
createNewFile |
| ディレクトリを作成 |
mkdir |
| ディレクトリと親ディレクトリを作成 |
mkdirs |
| リネーム |
renameTo |
| 削除 |
delete |
| 文字列や数値を画面に出力 |
print,printIn |
| 入力させる |
readLine |
| 途中で終了 |
exit |
| 経過時間取得 |
currentTimeMillis |