Java 11 を使用した AnyLogic リリース

AnyLogic 8.8.0 がリリースされ、ダウンロードできるようになりました。

Java 11 以降のバージョンに移行する理由。
Microsoft.

AnyLogic 8.8.0 では、API (「言語レベル」) を Java 8 から Java 11 に切り替えました。以前のソフトウェアリリースの一部で、AnyLogic と Java 11 ランタイム環境を既に使用し始めています。

ただし、これらの AnyLogic バージョンで構築されたモデルは、「Java 8 方式」でコンパイルされました。これにより、モデルを Java 8 環境 (たとえば、2.3.0 より前のバージョンの AnyLogic プライベートクラウド) で実行できます。

さらに、AnyLogic 8.8.0 リリースには、マテリアルハンドリング、プロセスモデリング、およびレールライブラリの機能強化が含まれています — 完全なリリース ノートのリストをご参照ください →

このリリースでの Java 関連の変更は、開発者や AnyLogic でコードを扱う人にとって大変役立ちます。さらに詳しく見てみましょう。

言語機能

Java 11 では、Java 10 で最初に登場した varキーワードを使用できる言語機能が導入されました。この変更により、コードが単純になります:


var list = List.of("a", "b"); 
    

旧版では


List<String> list = List.of("a", "b");
    

開発者向け機能

コレクションの簡単な作成


Set.of("a", "b")
    

旧版では


new HashSet<>(Arrays.asList("a", "b"))
    

コレクションを配列に変換する

これにより、コレクションから適切な型の配列を簡単に作成できます:


list.toArray(String[]::new)
    

旧版では


list.toArray(new String[list.size()])
    

新しい文字列メソッド

これらのメソッドにより、文字列オブジェクトの操作に関連するボイラープレートコードの量が減り、ライブラリをインポートする必要がなくなります。メソッドには次のものがあります:

isBlank() — 空文字列と空白のみの文字列をチェックします。
lines() — ストリーム API を使用して、テキスト行の反復を許可します。次に例を示します。


var max = text.lines()
      .mapToDouble(Double::parseDouble)
      .max();
    

ファイルからの文字列

ファイルからの文字列の読み書きが簡単になりました:


var filePath = Path.of("my_file.txt");
Files.writeString(filePath, "Some text");
var textFromFile = Files.readString(filePath);
    

新しい高度な機能

経験豊富な開発者は、Optional および Stream クラスの便利な API を利用できるようになりました。


Optional.isEmpty(), Optional.or(alternative), 
Optional.stream(), Stream.takeWhile(), Stream.iterate()
         


当社のウェブサイトから AnyLogic 8.8.0 をダウンロードするか、既存ソフトウェア内から更新できます。

関連記事