こんにちは、私は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. Web参照とサービス参照の違いは何ですか?
- 2. 参照先とは何ですか?
- 3. オブジェクト参照変数とは何ですか?
- 4. なぜ可変参照ではなく、BufReaderへの不変参照を渡すだけですか?
- 5. 参照変数とconstポインタ変数の違いは何ですか?
- 6. Javaの参照変数のサイズは何ですか
- 7. 正規表現では、バックトラック/バック参照とは何ですか?
- 8. 「これは何ですか?」平均とJavaで参照する
- 9. 弱いグローバル参照は何ですか?それはグローバル参照とどのように違うのですか?
- 10. Visual Studioの参照プロパティのエイリアスとは何ですか?
- 11. Facebookの「弱い参照」のプロフィールリンクとは何ですか?
- 12. 「下げられたvtable参照」とは何ですか?
- 13. UMLの参照オブジェクトと値オブジェクトの違いは何ですか?
- 14. C++:技術レベル(ASM)のR値参照とは何ですか?
- 15. "非多次元オブジェクトプロパティ"とは何ですか? (参照:$ LISTDATAのDOC)
- 16. C++の暗黙の逆参照とは何ですか?
- 17. MySQLの参照と結合の永続性は何ですか?
- 18. Propelの不完全なキー参照は有用ですか?
- 19. Javaの可変オブジェクトへの不変参照の返却
- 20. これは関数への参照ですか、何ですか?
- 21. Clojure 1.4ではrequireを参照するのは何ですか?
- 22. C - 不完全な型への参照を間接参照
- 23. akka不変のメッセージリストを最終的に参照します
- 24. Cコードで不完全な型への参照を逆参照する
- 25. :アクションメーラーの設定時に参照される:ドメインシンボルとは何ですか?ドメインのシンボルを参照している:
- 26. Javascriptでウィンドウオブジェクトを参照する目的は何ですか?
- 27. PHPで参照を間接参照することはできますか?
- 28. サブツリー(JavaScriptでDOMを参照する場合)とは何ですか?
- 29. ここでbeanInterfaceは何を参照していますか?
- 30. 参照渡しの問題は何ですか?
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