LOTUSSCRIPT 言語


データ型のマッピング
LotusScript は、Java の基本的なデータ型と Java 参照型に関してマッピング機能を備えています。

基本的なデータ型

基本的なデータ型は、LotusScript と Java の間で自動的にマッピングされます。
LotusScript データ型マッピング先の Java データ型
Byte 型byte 型
Boolean 型boolean 型
Integer 型short 型
Long 型int 型
String 型次の 3 つの Java データ型は、LotusScript の string 型にマッピングされます。
  • Java char 型 (LotusScript の長さ 1 の String 型にマッピングされます)
  • Java char array 型
  • java.lang.String
LotusScript から Java へのマッピングは、Java コードが型として求めるものにより異なります。「String 型のマッピングの例」を参照してください。
Single 型float 型
Double 型double 型

long 型

どちらのデータ型を使用するかは、Java コードが型として求めるものにより異なります

Variant 型は、それが含むどのデータ型にもマッピングされます。

メモ Java byte 型には符号が付きますが (-128 から +127 の範囲)、LotusScript の Byte 型には符号が付きません (ゼロから 255 の範囲)。

Java byte 型の -128 から -1 の値は、LotusScript の Byte 型の +128 から +255 の値にマッピングされます。Java byte 型のゼロから +127 までの値は、LotusScript のゼロから +127 までの同じ値にマッピングされます。
Java byte 型の値LotusScript Byte 型の値
-128 +128
-127 +129
-126 +130
......
-2 +254
-1 +255
0 0
1 1
......
+126 +126
+127 +127
メモ LotusScript のデータ型は、Get/Set プロパティ、Java メソッドの引数、および戻り値の Java データ型に代わるものとして使用できます。

Java の精度と long データ型の概要

Java long データ型の範囲は次のとおりです。

min -2^63 == -9,223,372,036,854,775,808 == 約 -9.22337203685478E+18

max +2^63 - 1 == +9,223,372,036,854,775,807 == 約 +9.22337203685478E+18

ただし、floating-point 型の精度が低いので、LS2J ではおおよそ次のような小さな範囲だけをサポートしています。

+- 9,223,372,036,854,770,000 == +- 9.22337203685477E+18

この範囲はプラットフォームによって若干異なります。この制限範囲外の LotusScript の値が Java long データ型に渡されると、LS2J は「式が範囲外です。」というエラーをスローします。

サポートの範囲内であっても、15 桁の精度しか使用できません。つまり、Java long データ型は、次の範囲内で予測可能な LotusScript の整数値にマッピングされます。

+- 1,000,000,000,000,000 ==+- 1.0E+15

String 型のマッピングの例

LSStrings.java:


LSStrings.lss:


Java 参照型

Java 参照型は、次のようにサポートが制限されています。


引数を処理する

すべてのプリミティブな型と Java オブジェクトは、引数として直接 JavaMethods に渡すことができます。参照型については、LotusScript はまだ参照による呼び出しのセマンティクスをサポートしていません。単一次元配列を Java メソッドに渡すことはできますが、その結果は LotusScript の領域にコピーされません。LotusScript は Java オブジェクトの配列で渡すこともサポートしていません。

制限

重要な制限事項があります。


関連項目