
No.2ベストアンサー
- 回答日時:
浅学なため、TestDataというクラス名と「セッション内に格納」という表現だけからどうしてHttpSessionが出てくるのか分かりませんが...
Javaでは、明示的な操作(C++のdeleteのような)によってインスタンスを削除することはできません。そのインスタンスがどこからも参照されなくなったらGCで消えます。もう要らない(消えてほしい)インスタンスを参照している変数やフィールドにはnullを代入することで参照をなくします。
testData = null;
> NULLのままだと不具合があるため、NULLの場合は、インスタンスそのものを削除してしまいたい
何がNULLだとどのように不都合なのかを説明してもらえると、別の回答がつくかもしれません。
Weblogic環境でWorkshopを使っていて開発を行ってます。
testData内の値をJSP上のタグ(WebLogic特有のもの?)を使って、入力フィールドのデフォルト値として設定しています。
その際に、インスタンスが存在しない場合は自動的に作られるので問題ないのですが、そのインスタンスがNULLだとエラーが発生してしまうようです。
・JSPの中でNULLかどうかチェックしてから処理をする
・そのインスタンスの各項目に、NULLでなく""を入れる
などを行えば回避できるのですが、ちょっと手間ということ、DELETEのようなことが出来るのでは…?? と思い、確認させていただきました。
出来ないとのこと、承知いたしました。
ご回答ありがとうございました。
No.3
- 回答日時:
> そのインスタンスがNULLだとエラーが発生してしまうようです。
「インスタンス」という言葉で表しているものが違うんだと思うのですが、インスタンスはクラスを実体化したものなので、インスタンスがnullになることはありません。変数とか、インスタンスの中のフィールドの値がnullになることはありますけど。
また、大文字のNULLにこだわっておられるところがJavaっぽくないなと思います。WebLogicでは大文字のNULLに特別な意味があるのでしょうか?
> インスタンスが存在しない場合は自動的に作られるので問題ないのですが、
問題が発生する場合には、問題のあるインスタンスがどこかから参照されているのですよね? その参照をなくしてしまえば(nullを代入してしまえば)、問題を起こすインスタンスは存在しないのと同じことになるので、適切なインスタンスが自動的に作られるのでは?
逆に、C++のdeleteのような機能があったとしても、どこかからまだ参照されているままのインスタンスをdeleteしたら誤動作の原因になります。結局はその参照を消さなくてはいけないので、明示的なdelete操作が要らない分だけJavaのほうが簡単です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP isset — 変数が宣言されていること、そして null とは異なることを検査 1 2022/03/27 17:34
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- Excel(エクセル) 別インスタンスのエクセルを制御したい 1 2023/05/10 02:03
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Java インスタンス ダウンキャストについて以下の解釈であっているか教えて欲しいです。 サブクラスをスーパー 1 2022/03/27 18:53
このQ&Aを見た人はこんなQ&Aも見ています
-
[JAVA]try 内の変数を外で!?
Java
-
UMLでの例外処理
その他(プログラミング・Web制作)
-
private static という変数の修飾
Java
-
-
4
C#において、同じインスタンスを何度もnewしてよいでしょうか。
その他(プログラミング・Web制作)
-
5
Java-jspの画面入力値保持について
Java
-
6
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
7
System.out.printlnの出力先
Java
-
8
JARファイルをEclipseを使って作成したのですが、ダブルクリック
Java
-
9
hostsファイルで8080ポート指定
ネットワーク
-
10
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
11
クラス間でのデータ参照
Java
-
12
Eclipse(JAVA)のデバッグで他のプログラムが起動してしまいます。
Java
-
13
javaでの#if 0 #endif文
Java
-
14
【JAVA】数字をひし形に出力するプログラムについて
Ruby
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
private static という変数の修飾
-
javaのクラスの作り方、エラー...
-
VB.NET getとsetの概念がわかり...
-
インスタンス生成で、○○.xxx();...
-
newしないインスタンス?実体化...
-
インスタンス参照でアクセスで...
-
C# インスタンスの破棄
-
C#において、同じインスタンス...
-
非staticフィールドを参照でき...
-
SQLを連続発行する時の正しい(?...
-
変数名の付け方
-
複数の変数を宣言する時、同時...
-
変数の参照でエラーが出てしま...
-
JDBC ドライバーのロードの方...
-
クラス、インスタンスメソッド...
-
static 及びthisについて
-
複数のクライアントがサーバの...
-
クラスのインスタンス名をクラ...
-
Servletにおけるスレッド間での...
-
C# WebRequestでcookieの設定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
オブジェクト参照がオブジェク...
-
private static という変数の修飾
-
変数名の付け方
-
複数の変数を宣言する時、同時...
-
C#において、同じインスタンス...
-
インスタンス参照でアクセスで...
-
生成したインスタンスを削除す...
-
C# インスタンスの破棄
-
VB.NET getとsetの概念がわかり...
-
変数の参照でエラーが出てしま...
-
フォームの存在をチェックする方法
-
「インスタンス」の意味をわか...
-
[Visual C#] 優先される処理に...
-
javaのクラスの作り方、エラー...
-
クラスのインスタンス名をクラ...
-
C#の構造体の開放のしかた
-
エクセル(複数インスタンス)...
-
VB6.0で、DLLを動的に参照したい
-
C#「オブジェクト参照が必要で...
-
vb.netでFAXを送信する方法
おすすめ情報