こんにちは、私はUriが不変の参照として見つかっています。私はそれが不変の参照の正確な意味を知っていません...だれでも私を助けることができますか?不変参照とは何ですか?
答えて
それはそれはできない変数です一度変更すると変更されます。変数の値を変更することができるため、コード内で問題を見つけるのが難しいかもしれないので、マルチスレッドコードを使用すると非常に便利です。
不変の場合は、通常は問題ありません。
「不変」は「不変」==「変更不可」「変更」
==「可変」
を「値を変更することはできません」という意味
.NET Framework内の不変クラスの良い例は、System.Stringです。 Stringオブジェクトを作成したら、それを変更することはできません。その周りに方法はありません。それがクラスの設計方法です。コピーを作成することはできますが、それらのコピーは元のフォームに変更することができますが、安全でないコードに頼らずに、元のインスタンスを変更することはできません。もしあなたがそれを理解しているなら、私はここにどこに行くのかという要点を得るようになっているはずです。メソッドに渡される参照ベースのオブジェクトの場合、メソッド呼び出し中にクライアントが変更されないことが保証されるそれ自体は不変でなければならない。
デフォルトでオブジェクトが参照によって保持されるCLRなどの世界では、この不変性の概念は非常に重要になります。のは可能System.Stringは可変だったと仮定しましょう、そしてあなたは、次の架空法などを書くことができたとしましょう:彼らは、このメソッドを呼び出し、現在はコード内に沿ってさらに取得するとき
public void PrintString(string theString)
{
// Assuming following line does not create a new
// instance of String but modifies theString
theString += ": there, I printed it!";
Console.WriteLine(theString);
}
は、呼び出し元の落胆を想像してみてそれらの文字列にはこの余分なものが最後に付加されています。これがSystemの場合に起こりうることです。文字列は変更可能でした。ストリングの不変性が理由で存在することがわかります。また、デザインに同じ機能を追加することを検討する必要があります。元 Console.Write(s.ToUpper())
の文字列は不変です...
uは大文字と元文字列s = "何でも"
とuの出力それを持っている場合...
:
EXは、コンソールはWHATVERを出力しますが、文字列sはまだ何でも...文字列をWHATEVERから文字列に変更する可変型とは異なります
Javaでは、すべてのものがStringとObjectとして扱われます10000行のプログラムを作成していれば、そこには「public」が100回追加されていると思いますので、このパブリックがストレージに作成されるたびにそれがあると思いますか?そうでない場合は、私たちは何かを作成することができます。このようなものを見つけたらそこから取得します(文字列プール)
- 1. デコレータパターンと不変参照
- 2. Web参照とサービス参照の違いは何ですか?
- 3. 参照先とは何ですか?
- 4. 参照分布とは何ですか?
- 5. 不変性と循環参照
- 6. オブジェクト参照変数とは何ですか?
- 7. なぜ可変参照ではなく、BufReaderへの不変参照を渡すだけですか?
- 8. 開始時の静的参照変数とインスタンス参照変数の違いは何ですか?
- 9. 原子参照カウントと自動参照カウントの違いは何ですか?
- 10. 実体参照定義とは何か
- 11. 参照変数とconstポインタ変数の違いは何ですか?
- 12. Javaの参照変数のサイズは何ですか
- 13. 質問セッション変数参照後のマーク(?)は何ですか?
- 14. 正規表現では、バックトラック/バック参照とは何ですか?
- 15. 「これは何ですか?」平均とJavaで参照する
- 16. 弱いグローバル参照は何ですか?それはグローバル参照とどのように違うのですか?
- 17. SAS:DDEリンクで参照されているファイル参照は何ですか?
- 18. 変数割り当てと参照渡しの違いは何ですか?
- 19. フリーリスト(PyDict_ClearFreeListが参照するもの)とは何ですか?
- 20. ウェブサイトを参照する「ファイルシステム」とは何ですか?
- 21. リカレントニューラルネットワークを参照する際のタイムステップとは何ですか?
- 22. ダブルポインタを参照すると、値は何ですか?
- 23. Facebookの「弱い参照」のプロフィールリンクとは何ですか?
- 24. glmのorientedAngle()関数の「参照ベクトル」とは何ですか?
- 25. C++の暗黙の逆参照とは何ですか?
- 26. ルビーの自己参照とは何ですか?
- 27. C#の参照型とrefの違いは何ですか?
- 28. Visual Studioの参照プロパティのエイリアスとは何ですか?
- 29. MySQLの参照と結合の永続性は何ですか?
- 30. "非多次元オブジェクトプロパティ"とは何ですか? (参照:$ LISTDATAのDOC)
uriの構文解析メソッドの使い方は? –
ドキュメントを確認してください:http://developer.android.com/reference/android/net/Uri.html#parse(java.lang.String) – kcoppock
@satheesh:@ kcoppockのコメントに加えて、[このSOスレッド](http://stackoverflow.com/questions/444112/how-do-i-encode-uri-parameter-values)をチェックしてください。 – darioo