akios @ ウィキ内検索 / 「15.5. 式と実行時検査」で検索した結果

検索 :
  • 5. 変換と昇格
    5. 変換と昇格 Javaプログラミング言語で書かれた全ての式は、式の構造やその式の中に記述されたリテラルや変数やメソッドの型から推論できる型を持ちます。しかし、式の型が適切ではない文脈で式を書くこともできます。ある場合には、これはコンパイル時にエラーを引き起こします。他のケースでは、その式の型に関連する型を受理することができる文脈もあります。便宜上、プログラマーは明示的に型変換を要求する代わりに、Javaプログラミング言語は式の型をその周囲の文脈に合わせて受理することが可能な型に暗黙的に変換(conversion)を行います。 型Sから型Tへの特定の変換は型Sの式をあたかも型Tであるかのようにコンパイル時に扱えるようにします。変換の正当性を検査するために、または実行時の式の値を新たな型Tに対する適切な形式に変換するために、これは実行時に対応するアクションが必要になることがありま...
  • Java言語仕様 Java SE 7版 日本語訳
    ... FP厳密式   15.5. 式と実行時検査   15.6. 評価の正常完了と中途完了   15.7. 評価順序     15.7.1. 左辺オペランドを最初に評価     15.7.2. 演算前のオペランドの評価     15.7.3. 括弧と優先順位の評価     15.7.4. 引数リストは左から右に評価     15.7.5. 他の式の評価順序   15.8. 一次式     15.8.1. 字句リテラル     15.8.2. クラスリテラル     15.8.3. this     15.8.4. 限定this     15.8.5. 括弧で括られた式   15.9. クラスインスタンス作成式     15.9.1. インスタンス化するクラスの決定     15.9.2. 囲みインスタンスの決定     15.9.3. コンストラクター...
  • 4.12. 変数
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数 変数(variable)は値の保存場所であり関連する型を持ちます。この型はコンパイル時の型(compile-time type)とも呼ばれ、プリミティブ型か参照型のいずれかです。 変数の値は代入もしくは単項・後置インクリメント演算子++やデクリメント演算子--(15.14.2.、15.14.3.、15.15.1、15.15.2.)により変化します。 Javaプログラミング言語の設計は型を持つ変数の値の互換性を、コンパイル時の未検査警告が検出されない限りは保障しています。デフォルト値は互換性...
  • 5.1.5. 拡幅参照変換
    5. 変換と昇格 5.1. 変換の種類 5.1.1. 恒等変換 5.1.2. 拡幅プリミティブ変換 5.1.3. 縮幅プリミティブ変換 5.1.4. 拡幅と縮幅プリミティブ変換 5.1.5. 拡幅参照変換 拡幅参照変換(widening reference conversion)とはSはTのサブタイプである任意の参照型Sから任意の参照型Tへの変換です。 拡幅参照変換は実行時に一切の特別なアクションを要求しません。従って、実行時に例外をスローすることもありません。これは参照は単に他の型も持っており、それらもコンパイル時に正しいと証明できているからです。 5.1.6. 縮幅参照変換 5.1.7. ボックス化変換 5.1.8. ボックス化解除変換 5.1.9. 未検査変換 5.1.10. 捕捉変換 5.1.11. 文字列変換 5.1.12. 禁止変換 5.1.13. 値集合変換 ...
  • 4.12.2. 参照型の変数
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数 4.12.1. プリミティブ型の変数 4.12.2. 参照型の変数 クラス型Tの変数はヌル参照またはクラスTかTの任意のサブクラスのインスタンスへの参照を保持することができます。 インタフェース型の変数はヌル参照またはそのインタフェースを実装する任意のクラスのインスタンスへの参照を保持することができます。 変数は常にその宣言された型のサブタイプを参照できるとは保障されていません。保障されているのはその宣言された型のサブクラスやサブインタフェースのみです。これは以下に記述するヒープ汚染の可能...
  • 5.1.6. 縮幅参照変換
    5. 変換と昇格 5.1. 変換の種類 5.1.1. 恒等変換 5.1.2. 拡幅プリミティブ変換 5.1.3. 縮幅プリミティブ変換 5.1.4. 拡幅と縮幅プリミティブ変換 5.1.5. 拡幅参照変換 5.1.6. 縮幅参照変換 以下の6種類の変換は縮幅参照変換(narrowing reference conversion)と呼ばれます。 SはTの適切なスーパータイプである任意の参照型Sから任意の参照型Tへの変換。   重要で特別な事例としてObjectクラス型から任意の他の参照型への縮幅参照変換があります(4.12.4.)。 finalではなくKを実装してもいない任意のクラス型Cから任意の非引数付きインタフェース型Kへの変換。 任意のインタフェース型Jからfinalではない任意の非引数付きクラス型Cへの変換。 JはKの適切なスーパーインタフェースではない任意のインタフェ...
  • 4.12.6. 型とクラスとインタフェース
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数 4.12.1. プリミティブ型の変数 4.12.2. 参照型の変数 4.12.3. 変数の種類 4.12.4. final変数 4.12.5. 変数の初期値 4.12.6. 型とクラスとインタフェース Javaプログラミング言語では、全ての変数や全ての式はコンパイル時に決定可能な型を持っています。型はプリミティブ型か参照型です。参照型にはクラス型やインタフェース型も含みます。参照型はクラス宣言やインタフェース宣言を含む型宣言によって導入されます。型という言葉をクラスやインタフェースを参照するのに用いること...
  • 5.1.2. 拡幅プリミティブ変換
    5. 変換と昇格 5.1. 変換の種類 5.1.1. 恒等変換 5.1.2. 拡幅プリミティブ変換 プリミティブ型に対する19の特定の変換が拡幅プリミティブ変換(widening primitive conversion)と呼ばれます。 byteをshortやint、long、float、doubleへ変換 shortをintやlong、float、doubleへ変換 charをintやlong、float、doubleへ変換 intをlongやfloat、doubleへ変換 longをfloatやdoubleへ変換 floatをdoubleへ変換 拡幅プリミティブ変換は数値の全体的な大きさについての情報は失いません。 整数型から他の整数型へのまたは tt(){strictfp}式内でのfloatからdoubleへの拡幅プリミティブ変換は全く何の情報も失いません。数値は...
  • 4.3.4. 参照型が同じである条件
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.3.1. オブジェクト 4.3.2. Objectクラス 4.3.3. Stringクラス 4.3.4. 参照型が同じである条件 2つの参照型が同一のバイナリ名を持てば、そしてもしあれば型実引数にも同じくこの定義が再帰的に適用できれば、同一コンパイル時型(same compile-time type)であるといいます。 2つの参照型が同じである時、時々同じクラス、同じインタフェースと呼ばれます。 動作時、同じバイナリ名を持つ複数の参照型が同時に異なるクラスローダーによって読み込まれるかもしれません。これらの型は同じ型宣言を表しているかもしれませんしそうでないかもしれません。このような2つの型が同じ型宣言を表していたしても、それらは異なるもとして扱われます。 2つの...
  • 1. はじめに
    1. はじめに Java™プログラミング言語は汎用の、並行処理が可能で、クラスに基づく、オブジェクト指向な言語です。多くのプログラマーがこの言語を習熟できるように十分に単純に設計されています。Javaプログラミング言語はCやC++と関係がありますが、CやC++のいくつかの特徴を省きその他の言語の特徴を導入するなど、やや異なった構成となっています。Javaは製作のための言語であることを意図されており、研究目的の言語ではありません。そのため、言語デザインに関するC. A. R. Hoareの昔の論文で提案されている通り、新しく未検証な機能の導入はしない設計です。 Javaプログラミング言語は強く静的に型付けられています。本仕様では、コンパイル時に検出が可能であり検出すべきコンパイル時エラーと、実行時に発生するエラーを明確に区別しています。コンパイルとは通常、プログラムをマシン非依存バ...
  • 5.1. 変換の種類
    5. 変換と昇格 5.1. 変換の種類 Javaプログラミング言語での特定の型変換は13のカテゴリーに分けられます。 5.1.1. 恒等変換 5.1.2. 拡幅プリミティブ変換 5.1.3. 縮幅プリミティブ変換 5.1.4. 拡幅と縮幅プリミティブ変換 5.1.5. 拡幅参照変換 5.1.6. 縮幅参照変換 5.1.7. ボックス化変換 5.1.8. ボックス化解除変換 5.1.9. 未検査変換 5.1.10. 捕捉変換 5.1.11. 文字列変換 5.1.12. 禁止変換 5.1.13. 値集合変換 5.2. 代入変換 5.3. メソッド呼び出し変換 5.4. 文字列変換 5.5. キャスト変換 5.6. 数値昇格
  • 5.1.4. 拡幅と縮幅プリミティブ変換
    5. 変換と昇格 5.1. 変換の種類 5.1.1. 恒等変換 5.1.2. 拡幅プリミティブ変換 5.1.3. 縮幅プリミティブ変換 5.1.4. 拡幅と縮幅プリミティブ変換 以下の変換は拡幅と縮幅プリミティブの両方の変換の組み合わせです。 byteをcharへ変換 最初に、byteはintへ拡幅プリミティブ変換されます。次に変換されたintがcharに縮幅プリミティブ変換されます。 5.1.5. 拡幅参照変換 5.1.6. 縮幅参照変換 5.1.7. ボックス化変換 5.1.8. ボックス化解除変換 5.1.9. 未検査変換 5.1.10. 捕捉変換 5.1.11. 文字列変換 5.1.12. 禁止変換 5.1.13. 値集合変換 5.2. 代入変換 5.3. メソッド呼び出し変換 5.4. 文字列変換 5.5. キャスト変換 5.6. 数値昇格
  • 5.1.1. 恒等変換
    5. 変換と昇格 5.1. 変換の種類 5.1.1. 恒等変換 恒等変換(identity conversion)とはある型を同一の型に変換することで、全ての型で使用できます。 これは些細なことかもしれませんが、2つの実践的な影響があります。1つ目は、式が開始するにあたり望ましい型を持つことが常に許可されるということです。つまり、ささいな等価変換だけであっても、全ての式は変換を受けるという単純な定型規則が許可されます。2つ目は、明確化のためにプログラムが冗長なキャスト演算子を導入するという意味を含みます。 5.1.2. 拡幅プリミティブ変換 5.1.3. 縮幅プリミティブ変換 5.1.4. 拡幅と縮幅プリミティブ変換 5.1.5. 拡幅参照変換 5.1.6. 縮幅参照変換 5.1.7. ボックス化変換 5.1.8. ボックス化解除変換 5.1.9. 未検査変換 5.1.10...
  • 4.2.2. 整数演算
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.2.1. 整数型と値 4.2.2. 整数演算 Javaプログラミング言語は整数値に対する演算として以下を提供しています。 比較演算子はboolean型の値を返します。 数値比較演算子 と =と と = 数値等価演算子==と!= 数値演算子はint型もしくはlong型を返します。単項プラス演算子+、単項マイナス演算子- 乗法演算子*と/と% 加法演算子+と- インクリメント演算子、前置と後置の両方をサポート デクリメント演算子、前置と後置の両方をサポート 符号付きまたは符号なしシフト演算子 と と ビット単位補数演算子~ 整数ビット単位演算子 と^と| 条件演算子? キャスト演算子、整数値を指定された数値型の値に変換します 文字列結合演算子+、Stringオペランドと整数オペランドを与えると...
  • 1.1. 仕様の構成
    1. はじめに 1.1. 仕様の構成 2章では、言語の字句と構文文法を表す文法と表記法について記述します。 3章では、CやC++に基づいたJavaプログラミング言語の字句構造について記述します。言語はUnicode文字セットで記述します。言語はASCIIのみをサポートするシステム上でもUnicode文字をサポートします。 4章では、型や値や変数について記述します。型はプリミティブ型と参照型に分けられます。 プリミティブ型は全てのマシンと全ての実装で同一なものが定義されており、多様なサイズの2の補数の整数や、単精度・倍精度IEEE754規格浮動小数点数、boolean型、Unicode文字char型が定義されています。プリミティブ型はステートを共有しません。 参照型はクラス型やインタフェース型や配列型です。参照型はクラスのインスタンスか配列のいずれかの動的作成オブジェク...
  • 5.1.3. 縮幅プリミティブ変換
    5. 変換と昇格 5.1. 変換の種類 5.1.1. 恒等変換 5.1.2. 拡幅プリミティブ変換 5.1.3. 縮幅プリミティブ変換 プリミティブ型に対する22の特定の変換が縮幅プリミティブ変換(narrowing primitive conversion)と呼ばれます。 shortをbyteやcharへ変換 charをbyteやshortへ変換 intをbyteやshort、charへ変換 longをbyteやshort、char、intへ変換 floatをbyteやshort、char、int、longへ変換 doubleをbyteやshort、char、int、long、floatへ変換 縮幅プリミティブ変換は数値の全体的な大きさという情報を失うかもしれません。また、精度や範囲についても失うかもしれません。 doubleからfloatへの縮幅プリミティブ変換は...
  • 3.10.5. 文字列リテラル
    3. 字句構造 3.1. Unicode 3.2. 字句変換 3.3. Unicodeエスケープ 3.4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル 3.10.1. 整数リテラル 3.10.2. 浮動小数点リテラル 3.10.3. ブールリテラル 3.10.4. 文字リテラル 3.10.5. 文字列リテラル 文字列リテラル(string literal)は2重引用符で0個以上の文字を括ったものです。文字はエスケープシーケンスでも構いません。U+0000~U+FFFFの範囲にある文字に対しては1つのエスケープシーケンスで、U+010000~U+10FFFFの範囲にある文字に対してはUTF-16サロゲートコード単位を表す2つのエスケープシーケンスで表せます。 StringLiteral ...
  • 4.7. 具象可能型
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 いくつかの型の情報はコンパイル中に抹消されるため、実行時に全ての型が利用可能であるとは限りません。実行時に完全な形で利用可能な型を具象可能型(reifiable type)と呼びます。 次のいずれか1つの条件を満たす場合のみ、型は具象可能であるといいます。 非ジェネリッククラスやインタフェース型宣言を参照する 全ての型引数が制限なしのワイルドカードである引数付き型である 未加工型である プリミティブ型である 構成要素の型が具象可能である配列型である 入れ子型で、"."で分割された各型Tに対してT自身が具象可能   例えば、ジェネリッククラスX T がジェネリックメンバークラ...
  • 4.2.4. 浮動小数点演算
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.2.1. 整数型と値 4.2.2. 整数演算 4.2.3. 浮動小数点型と書式と値 4.2.4. 浮動小数点演算 Javaプログラミング言語は浮動小数点値に対する演算として以下を提供しています。 比較演算子はboolean型の値を返します。 数値比較演算子 と =と と = 数値等価演算子==と!= 数値演算子はfloat型もしくはdouble型を返します。単項プラス演算子+、単項マイナス演算子- 乗法演算子*と/と% 加法演算子+と- インクリメント演算子、前置と後置の両方をサポート デクリメント演算子、前置と後置の両方をサポート 条件演算子? キャスト演算子、浮動小数点値を指定された数値型の値に変換します 文字列結合演算子+、Stringオペランドと浮動小数点オペランドを与えると浮動小数点オペラ...
  • 4.2.1. 整数型と値
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.2.1. 整数型と値 整数型(integral type)の値がとりうる範囲は以下の通りです。 byte, -128以上127以下 short, -32768以上32767以下 int, -2147483648以上2147483647以下 long, -9223372036854775808以上9223372036854775807以下 char, \u0000 以上 \uffff 以下、つまり0以上65535以下 4.2.2. 整数演算 4.2.3. 浮動小数点型と書式と値 4.2.4. 浮動小数点演算 4.2.5. ブール型とブール値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイ...
  • 4.2.5. ブール型とブール値
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.2.1. 整数型と値 4.2.2. 整数演算 4.2.3. 浮動小数点型と書式と値 4.2.4. 浮動小数点演算 4.2.5. ブール型とブール値 boolean型はリテラルtrueとfalseで表される2つの論理的な量を表します。 ブール演算子は以下の通りです。 関係演算子==と!= 論理補数演算子! 論理演算子 と^と| 条件付きAND演算子 、条件付きOR演算子|| 条件演算子? 文字列結合演算子+、Stringオペランドとbooleanオペランドを与えるとbooleanオペランドの値を表すString("true"もしくは"false")に変換し2つの文字列を結合して新たなString型を作成します。 ブール式は以下のような文で制御フロ...
  • 4.3.2. Objectクラス
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.3.1. オブジェクト 4.3.2. Objectクラス Objectクラスとはすべてのクラスのスーパークラスです。 すべてのクラスと配列型はObjectクラスのメソッドを継承します。これにより以下が可能になっています。 cloneメソッドはオブジェクトの複製を作成します。 equalsメソッドはオブジェクトの参照ではなく値による等価性を定義します。 finalizeメソッドはオブジェクトを破壊する直前に実行されます。 getClassメソッドはオブジェクトのクラスを表すClassオブジェクトを返します。   Classオブジェクトは参照型毎に存在します。例えば、クラスの完全限定名やそのメンバー、直接のスーパークラス、実装しているインタフェースのリストを得るために使用するこ...
  • 4.12.3. 変数の種類
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数 4.12.1. プリミティブ型の変数 4.12.2. 参照型の変数 4.12.3. 変数の種類 変数には7つの種類があります。 クラス変数(class variable)はクラス宣言内でキーワードstaticを使用して宣言されたフィールド(8.3.1.1.)、もしくはインタフェース宣言内でキーワードstaticを使用してまたは使用せず宣言されたフィールド(9.3.)です。   クラス変数はそのクラスやインタフェースが準備されデフォルト値に初期化される時に作成されます。クラス変数はその変数やインタ...
  • 4.5.2. 引数付き型のメソッドとコンストラクター
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.5.1. 型実引数とワイルドカード 4.5.2. 引数付き型のメソッドとコンストラクター 型引数A1,...,Anを伴うジェネリッククラスやインタフェース宣言をCとします。C T1,...,Tn はCの呼び出しであるとし、1≦i≦nに対しTiは(むしろワイルドカードではない)型だとします。すると mをC内のメンバーもしくはコンストラクター宣言(8.2.、8.8.6.)とし、その宣言された型をTとすると、   C T1,...,Tn 内のmの型はT[A1 =T1,...,An =Tn]です。 mをD内のメンバーもしくはコンストラクター宣言とします。ここで、DはCを拡張した型もしくはCを実装したインタフェースです。D U1,...,Uk を...
  • 4.3.1. オブジェクト
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.3.1. オブジェクト オブジェクト(object)はクラスインスタンス(class instance)または配列です。 参照値(単に参照(reference))はオブジェクトへのポインターです。どのオブジェクトも参照しない特別なヌル参照もあります。 クラスインスタンスはクラスインスタンス作成式で明示的に作成されます。 配列は配列作成式で明示的に作成されます。 文字列連結演算子+を非定数式の中で使用すると新たなクラスインスタンスが暗黙的に作成され、String型の新たなオブジェクトとなります。 配列初期化式が評価された時に新たな配列オブジェクトが暗黙的に作成されます。これはクラスやインタフェースが初期化される場合や、クラスの新たなインスタンスが作成...
  • 4.2. プリミティブ型と値
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 プリミティブ型(primitive type)としてJavaプログラミング言語で規定されキーワードとして予約されているのは以下の通りです。 PrimitiveType   NumericType   boolean NumericType   IntegralType   FloatingPointType IntegralType one of   byte short int long char FloatingPointType one of   float double プリミティブ値は他のプリミティブ値とステートを共有しません。 数値型(numeric type)には整数型と浮動小数点型があります。 整数型にはbyte、s...
  • 1.2. プログラム例
    1. はじめに 1.1. 仕様の構成 1.2. プログラム例 プログラム例の大部分は実行可能な以下のような形式のテキストで記述します。 class Test { public static void main(String[] args) { for (int i = 0; i args.length; i++) System.out.print(i == 0 ? args[i] " " + args[i]); System.out.println(); } } Javaプログラミング言語のコンパイラーのリファレンス実装がインストールされているマシン上でファイル名をTest.javaとして保存し、以下のコマンドによってコンパイルして実行できます。 javac Test.java...
  • 4.2.3. 浮動小数点型と書式と値
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.2.1. 整数型と値 4.2.2. 整数演算 4.2.3. 浮動小数点型と書式と値 浮動小数点型(floating-point type)にはfloat、doubleがあり、それぞれが2進浮動小数点計算のためのIEEE規格、ANSI/IEEE規格754-2008(IEEE, New York)、で規定する単精度32ビット、倍精度64ビット形式のIEEE754値および演算に概念的に関連づいています。 IEEE754規格には符号と数の大きさからなる正と負の数だけでなく正と負のゼロ、正と負の無限大、特別な非数値(Not-a-Number、以降NaN)も含まれています。NaN値はゼロ割るゼロ等の無効な演算の結果を表すのに利用されます。NaNはFloat.NaNやDouble.NaNとしてfloat型にもdou...
  • 進捗情報
    Java言語仕様日本語訳の進捗情報です。 全体進捗ページ84/606=約13.9% 索引 章構成の索引は完了。 例の索引は未完了。 序文 第1版 訳の予定なし。 序文 第2版 訳の予定なし。 序文 第3版 訳の予定なし。 序文 Java SE 7版 訳の予定なし。 1. はじめに 完了。 2. 文法 完了。 3. 字句構造 完了。 4. 型と値と変数 完了。 例4.2.4-1のプログラム内のバックスラッシュnの表示ができていない。 }をプラグイン終了の意味を持たずにただの文字とするやり方が分からない。 4.4~4.6、4.8は意味が分からないまま訳している部分が多い。 5. 変換と昇格 未着手。 6. 名前 未着手。 7. パッケージ 未着手。 8. クラス 未着手。 9. インタフェース 未着...
  • 3.3. Unicodeエスケープ
    3. 字句構造 3.1. Unicode 3.2. 字句変換 3.3. Unicodeエスケープ Javaプログラミング言語のコンパイラー(以下、Javaコンパイラー)は最初に入力中のUnicodeエスケープ(unicode escape)を認識し、\uで始まり4桁の16進数が続くASCII文字列をその16進数に対応するUTF-16符号化コード単位(3.1.)に変換します。これ以外の文字は一切変更しません。補助文字についてはサロゲートペアで表す必要があります。この変換ステップの結果、Unicode入力文字の列となります。 UnicodeInputCharacter   UnicodeEscape   RawInputCharacter UnicodeEscape   \ UnicodeMarker HexDigit HexDigit HexDigit He...
  • 4.8. 未加工型
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 非ジェネリックのレガシーコードとのインタフェースを容易にするため、引数付き型の抹消や構成要素の引数付き型を抹消した配列型を型として利用できます。このような型を未加工型(raw type)と呼びます。 もう少し正確には、未加工型とは次の1つとして定義されます。 型実引数リストを持たないジェネリック型宣言の名前という形式の参照型 構成要素の型が未加工型である配列型 未加工型Rの非静的メンバー型、Rのスーパークラスやスーパーインタフェースから継承されていないこと 非ジェネリッククラス型やインタフェース型は未加工型ではありません。 未加工型の非静的型メンバーがなぜ未加工と...
  • @wiki全体から「15.5. 式と実行時検査」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索

目安箱バナー