【初心者】Java質問・相談スレッド103【大歓迎】at TECH
【初心者】Java質問・相談スレッド103【大歓迎】 - 暇つぶし2ch875:デフォルトの名無しさん
07/07/23 13:53:57
>>874
じゃあお前が答えてやれよ
俺はRhinoは嫌いだ

>>869
arguments

876:デフォルトの名無しさん
07/07/23 14:07:55
>>869
jrunscript で実行してるなら arguments で取れるはず。

そうでない場合は、自前でScriptEngineにセットしないとダメなんじゃね?
scriptEngine.getBindings(ScriptContext.ENGINE_SCOPE).put("arguments", args);

877:デフォルトの名無しさん
07/07/23 14:26:41
>>875,876
argumentsでとってこれました。ありがとうございました。
ちなみにこういった情報はどこで見つけるものなんでしょうか。

878:デフォルトの名無しさん
07/07/23 14:30:03
>>877
URLリンク(java.sun.com)

879:デフォルトの名無しさん
07/07/23 15:59:42
>>874
呼んだ?
おまえら少しはEcma Scriptスレに顔出して上げてください。
ネタがないんで普段は実装と仕様の差異の話で盛り上がっとりますよ。

SpiderMonkyが人気ないからRhinoで持ちきりなんだが・・・。
java6のRhino劣化品。いらない子。

>>878
それmozillaのdocの劣化コピペだからmozillaの開発者向けサイトかRhinoのdocに全部書いてある。


880:デフォルトの名無しさん
07/07/23 16:28:58
>>879
一応別のツールだから劣化コピペとは言い切れないんじゃね?

Rhino のツールでは -l でスクリプト言語指定したりできないっしょ。

881:デフォルトの名無しさん
07/07/23 18:51:12
いやjdk6に入ってるjs.jarはスループット優先でRhinoの機能かなりとっぱらってサイズ減らしてるんだよ。
さらにコンパイラ省かれてるから一切最適化されてない純粋なインタープリタで動いてる。

Rhinoのドキュメントに組み込みガイドがあって
そこにスループット優先でビルドする手順が書かれてるんだけどそれと同じ事してる。+JavaAdaptorが劣化。

jrunscriptはそのRhinoのScripting APIに従った純粋なラッパー。

Rhinoの殆どの実装クラスがjavax.script.*じゃなくてcom.sun.*にあるから自分でJSオブジェクト実装とかクラスシャッターでセキュリティ制限とかできない問題もある。
ecmaスレで詳しい話題が出てるよ。

882:デフォルトの名無しさん
07/07/23 20:26:28
>>881
javax.script は Rhino とは別物だよ。
で、jrunscript と org.mozilla.javascript.tools.shell も別物。
だから jrunscript の、より詳しいドキュメントとして mozilla のドキュメント読めというのはダメ。

883:デフォルトの名無しさん
07/07/23 23:29:23
>>869はjrunscriptとはいってないだろ。
Rhino1.6R5と言っただけ。Rhinoがjavaの実装で6から標準装備だからこっち来たと。

>>876が勝手にjrunscriptと言い出しただけだろ。だからecmaスレ行けって。

884:デフォルトの名無しさん
07/07/23 23:37:36
>>883
俺は >>879 にレスつけただけなんだが。なんで >>869 の話が出てくるんだ?

885:デフォルトの名無しさん
07/07/24 01:27:16
Rhinoってなに?


886:デフォルトの名無しさん
07/07/24 01:39:57
どっかの誰かさんが作ったjavaのライブラリ

887:デフォルトの名無しさん
07/07/24 02:51:47
>>884おまえ上の流れくらい読めよ。馬鹿だろ?

888:デフォルトの名無しさん
07/07/24 02:53:20
jdbcのドライバのロードを static { } 内に記述して一度だけ実行するようにしたいんだけど、
これって可能なんでしょうか。コードは以下のような感じ。

class Hoge {

static {
try {
Class.forName("org.postgresql.Driver");


889:デフォルトの名無しさん
07/07/24 03:00:58
誤爆

class Hoge {
  static {
    try {
      Class.forName("org.postgresql.Driver");
    } catch (ClassNotFoundException e) {
      throw new InternalError(e.getMessage());
  }

  public static Connection open() {
    Connection conn = DriverManager.getConnection("foo", "bar", "baz);
    return conn;
  }

  // 以下略
}

コンパイルエラーは以下。
[javac] シンボル: 変数 DriverManager
[javac] 場所 : Hoge の クラス
[javac] Connection conn = DriverManager.getConnection("foo", "bar", "baz");
[javac] ^
[javac] エラー 1 個


890:デフォルトの名無しさん
07/07/24 03:06:50
静的初期化子の中のcatch節の終了の}が無い

891:デフォルトの名無しさん
07/07/24 03:07:07
>>889のソースコード、改めてみるとなかなかひどい抜けがあるけど勘弁してくれ。

クラスパスが通ってないのかなと思って servlet-api.jar にも classpath を通してみて
HttpServlet を継承しただけのコードを書いてみたけど、こちらは問題なかった。
ビルドに用いている ant の build.xml のクラスパスの部分は以下。lib/ 内には
postgresql.jar が配置されている。

<target name="compile">
<mkdir dir="${bin.dir}" />
<javac srcdir="${src.dir}" destdir="${bin.dir}">
<classpath>
<!-- <fileset dir="lib">
<include name="*.jar" />
</fileset>-->
<pathelement location="lib/postgresql.jar" />
<pathelement location="/usr/share/tomcat5.5/common/lib/servlet-api.jar" />
</classpath>
</javac>
</target>



892:デフォルトの名無しさん
07/07/24 03:13:33
>>890
取り急ぎ書いたんで抜けた。すまん。他にも "baz" の終わりの " が抜けたりしてる。
手元のコードはちゃんとしてるから大丈夫。

893:デフォルトの名無しさん
07/07/24 03:17:47
そして>>889にはったエラーメッセージに肝心のエラーメッセージがはってないな。
DriverManagerに対して

「シンボルを見つけられません。」

というメッセージです。

894:888
07/07/24 03:20:11
解決しますた。

DriverManagerってずっと postgresql.jar の中にあるクラスと思ってたら java.sql.DriverManager
だったのな。。。

895:デフォルトの名無しさん
07/07/24 03:21:33
>>892
import java.sql.DriverManager;してる?

896:デフォルトの名無しさん
07/07/24 03:23:38
遅かったorz 解決して何より
まあシンボルが見つからないエラーは完全名を指定できていないミスが多いからね

897:デフォルトの名無しさん
07/07/24 03:23:59
まさに今同じミスをやらかして修正に追われていた。
Eclipseの補完機能に頼りすぎておんなじ名前のメソッド入った
パッケージがこんがらがるとこういうことになる。

898:デフォルトの名無しさん
07/07/24 04:14:49
設計時に使うパッケージは大方分かってるからワイルドカードでインポートして
クラス名が被るのは限定名でアクセスしてあとから「インポートの編集」すると混乱が減るよ。

899:デフォルトの名無しさん
07/07/24 06:42:38
インポートのワイルドカード嫌う人おおいみたいだけどなんで?
コンパイル遅くなるから?
実行時にも遅くなる?
import *;
ができないからどっちもどっち?


900:デフォルトの名無しさん
07/07/24 07:30:15
importの意味を知っていれば実行時に遅くなるなんて台詞は出てこないはずだぞ。

901:デフォルトの名無しさん
07/07/24 07:44:01
>>899
importは「このクラスはこいつらに依存してますぜ」というある意味クラスの設計情報みたい
なもの。仕様変更やデバッグするときに鬼のようにimport hoge.*;とか書かれまくっていきな
りプログラム中でクラスが使用されているとどのクラス追いかけたらいいのかわからなくなる。
でっかいシステムなら尚のこと。
俺の場合作る手間より直す手間を減らすため、かなぁ。

902:デフォルトの名無しさん
07/07/24 10:00:23
importなんて久しく意識してないな。eclipseが勝手に完全名書いてくれるからねえ

903:デフォルトの名無しさん
07/07/24 10:03:03
import hoge.* でもIDEのサポートでどのパッケージはわかるから別に困らんし、
使うオブジェクト全部をimportで指定するのは面度だが、
これもIDEのサポートでさほど手間でもない。
どっちでもいい気がするが、プロジェクトのやり方に合わせるのが基地。

904:デフォルトの名無しさん
07/07/24 10:16:44
入門向け書籍でサンプルコードを1行でも削るために使用されてるだけじゃね?>import の *


905:デフォルトの名無しさん
07/07/24 10:31:57
importで*を使うと実行速度が低下するって聞いたんだけど本当?

906:デフォルトの名無しさん
07/07/24 10:37:36
>>905
>>900

907:デフォルトの名無しさん
07/07/24 10:51:50
遅くならないの?

908:デフォルトの名無しさん
07/07/24 10:54:42
コンパイル時に解決されるのに、実行時に影響があるわけが

909:デフォルトの名無しさん
07/07/24 11:04:52
あーそうだね
やっとわかった
ごめんね

910:デフォルトの名無しさん
07/07/24 16:56:27
けど無駄なリンクが発生するから要らないリンク時間がかからない?javaって動的リンクだし。
まあ、無駄なアクセスがあればの話だけど。

911:デフォルトの名無しさん
07/07/24 17:00:45
全然分かってないじゃないか

912:デフォルトの名無しさん
07/07/24 17:02:19
importじゃなくabbreviateとかそんな予約語だったほうが良かったのかな

913:デフォルトの名無しさん
07/07/24 18:12:23
>>910
hoge.Hegeクラスを参照しているソースファイル中で、
import hoge.*;
とやった場合と、
import hoge.Hege;
とやった場合でコンパイル後のclassファイル中のHegeクラスの名前の指定の相違点を確認。

914:デフォルトの名無しさん
07/07/24 19:33:39
import a.*;
import b.*;

とかなってるときに、
パッケージ b 内にしかなかったクラスの名前と同じクラスをパッケージ a に追加すると、
追加したところとは異なるところからコンパイルエラーが発生してびびる
もっとも、たまたまシグネチャが合ってエラーが発生しなかったらと思うともっと心配かも

915:デフォルトの名無しさん
07/07/24 19:38:57
無駄なリンクが発生するので、たぶん
要らないリンクに時間が掛かります(コンパイルに)

916:デフォルトの名無しさん
07/07/24 19:56:13
クラスサイズが大きくなるってのは?

917:デフォルトの名無しさん
07/07/24 20:11:12
ならないよ
コンパイラの名前解決時に影響するだけ
コンパイル後はまったく一緒、クラスファイルにはフルネームで格納される

918:デフォルトの名無しさん
07/07/24 20:15:09
>>915-916
無駄なリンクなんて発生しねえしサイズも大きくならねえよ
importは単にこのクラスもしくはパッケージからクラス定義を拾ってこいっていうコンパイラへの指令
コンパイラの実装次第でワイルドカードを使った時のクラス検索の効率に差が出るかもしれんが

919:デフォルトの名無しさん
07/07/24 23:06:32
import * ワロタ
どこの都市伝説だよw

920:デフォルトの名無しさん
07/07/24 23:43:08
import *;

永遠に compile oh what a night in jamaica!

921:デフォルトの名無しさん
07/07/24 23:43:17
すべてのパッケージからクラスを探し出すのか

922:デフォルトの名無しさん
07/07/25 00:11:46
結局クラスパス上になければコンパイルエラーだし
クラスパス上にあるなら import *; でも探すことはできるはず。
importってコンパイルを手助けしてあげるためにあるのか?
>>901の意味合いももちろんわかるけど。

923:デフォルトの名無しさん
07/07/25 00:15:11
Javaのバージョンを変えてリコンパイルし直すと、ソースいじってないのにファイルサイズ増えるよね。
これってバージョンがあがってリンク先が増えたからだと思ってた。
富○通正社員の俺
協力会社の新人に笑われたorz


924:デフォルトの名無しさん
07/07/25 00:18:12
大丈夫落ち込むほどYOUの会社の評価は高くない。

925:デフォルトの名無しさん
07/07/25 03:05:55
そしてなにより板の空気をよめない
923は最悪


926:デフォルトの名無しさん
07/07/25 03:39:37
いろんな苦労の末に入ったばっかりなんじゃないかなー

927:デフォルトの名無しさん
07/07/25 08:37:36
Rhinoって何て読む?
アール日野?

928:デフォルトの名無しさん
07/07/25 08:39:34
サイさんは英語でなんと言うのでしょう赤坂?

929:デフォルトの名無しさん
07/07/25 09:27:12
>>923
落ち目だからな・・・。

930:デフォルトの名無しさん
07/07/25 12:52:40
J2EEとJavaは何が違うんですか?

931:デフォルトの名無しさん
07/07/25 12:56:24
>>930
それは関西と大阪は何が違うかという質問に近い。

932:デフォルトの名無しさん
07/07/25 13:03:05
>>931いやいやいやw

関西と関西弁の違い、と思う

933:デフォルトの名無しさん
07/07/25 13:25:59
日本人と関西人の違いだろ
企業と企業広報の違いでも有るかな

934:デフォルトの名無しさん
07/07/25 20:57:24
Javaで動画や音声のストリーミングって出来ますか?
動画はともかく、ねとらじとかをJavaから利用できないかな?

935:デフォルトの名無しさん
07/07/25 21:05:11
やろうと思えばできる、やるかどうかは別だが

936:デフォルトの名無しさん
07/07/25 21:06:21
>>930
ファミコンとディスクシステムのような関係

937:デフォルトの名無しさん
07/07/25 21:36:59
>>934
さがせばストリーミングライブラリがいくらでもある。

J2EEの名称はもう使われてないな。

938:デフォルトの名無しさん
07/07/26 00:41:29
JAVAアプレットのプログラムを作ってるんですが
Mainのプログラムから描画の処理のところだけ切り出して
別のクラスにかきだしたいのですがいくらやってもうまくいきません
どうすればいいですか?
どなたか教えて下さい

939:デフォルトの名無しさん
07/07/26 00:45:52
エスパーが来るまでお待ちください。

940:デフォルトの名無しさん
07/07/26 00:49:37
>>938
どうすればいいかは、
あなたが考えれば一番うまくいくでしょう。

941:デフォルトの名無しさん
07/07/26 00:57:00
まあパッシブレンダリングだと混乱するのも分かるけどな。

942:デフォルトの名無しさん
07/07/26 01:23:16
javaのパッシブ/アクティブレンダリングはそういう使い方するもんか?
GUIにタイミング任せるか、プログラムで自分でやるかの話だろ?

アプレットはエントリポイントが違うってんなら分かるが。

>>938
せめてソースくらい上げましょうぜ旦那?

943:デフォルトの名無しさん
07/07/26 01:28:40
>>938
描画処理?
とりあえずソースだな。

944:デフォルトの名無しさん
07/07/26 01:35:17
プログラム内からrmiregistryを立ち上げたいのですが、
URLリンク(www.atmarkit.co.jp)
URLリンク(itpro.nikkeibp.co.jp)
を見て、sun.management.Agent内でその処理を行っているのはわかったのですが
このソースのどこで立ち上げてるかさぱり分かりません。
誰がわかる人がいたら解説お願いします。

945:デフォルトの名無しさん
07/07/26 10:21:31
Java って、内部クラスから外側のクラスの this ポインタを取得することってできないの?

class Outer {
  void Hoge() {
    Inner inner = new Inner();
    inner.Foo();
  }
  class Inner {
    void Foo() {
      // ここで Outer の this がほしい。
    }
  }
}

コンストラクタで明示的に外側のクラスの this を渡すしかない?


946:デフォルトの名無しさん
07/07/26 10:35:56
>>945
Outer.this

947:デフォルトの名無しさん
07/07/26 14:24:44
class Inner はstatic finalのほうがよくね?

948:デフォルトの名無しさん
07/07/26 15:25:23
派生元のクラスでprivateで定義されているメンバ変数に
それを継承したクラスの方からアクセスするにはどうしたらよいですか?

949:デフォルトの名無しさん
07/07/26 15:41:37
>>948
java.lang.reflect.Field

950:デフォルトの名無しさん
07/07/26 15:42:49
>>948
private で宣言されたメンバは継承されない

getter 用意してアクセスしろ

951:デフォルトの名無しさん
07/07/26 16:02:25
>>949
ありがとうございます
1.4でも使えますか?

952:デフォルトの名無しさん
07/07/26 16:08:39
継承はされるだろ

953:デフォルトの名無しさん
07/07/26 16:22:11
>>952
URLリンク(java.sun.com)
> Members of a class that are declared private are not inherited by subclasses of that class.
> Only members of a class that are declared protected or public are inherited by subclasses
> declared in a package other than the one in which the class is declared.

継承されてたら言語仕様に反する。

954:デフォルトの名無しさん
07/07/26 16:33:06
>>951
1.4でも使えるけど、セキュリティマネージャが許可しない場合は使えない。
例えばアプレットとかだと、Field#setAccessible() が許可されないはず。

955:デフォルトの名無しさん
07/07/26 18:01:23
JAVAさんってC#くんが嫌いなんですか?

956:デフォルトの名無しさん
07/07/26 18:12:42
普通設計段階でprotectedにするだろ。そういうの。

>>955
ゲイツ君がpure javaさんを嫌いで古臭いjavaさんの実行モデルを元に「・・・頼むよ君」と呼んできたのがC#くん。

957:デフォルトの名無しさん
07/07/26 18:33:30
>>938なんですが
もう一度質問します。アプレットのメインクラスの中にある
描画処理・・・・たとえば↓
public void paint(Graphics g){ 
   //描画処理
  }
を別のクラスに作って描画処理を丸々引き渡したいのですが
別のクラスから描画処理をやろうとするとウィンドウに描画処理が反映されません。
メインクラスからだと反映されるのですが・・・。
描画処理をほかのクラスに引き渡すにはどうしたらいいですか?
たびたび質問してしまって申し訳ありません。

958:デフォルトの名無しさん
07/07/26 18:49:04
paintの引数のGraphics gを使えば、同じクラスだろうが別のクラスだろうが関係無くちゃんと描画されるハズ。
使ってるつもりなのに描画されないなら、多分つもりなだけで実際には使われて無いんだろう。
問題のコードをどっかにうpした方が回答がつきやすいと思うよ。

959:デフォルトの名無しさん
07/07/26 19:08:29
INT型の変数が2147483647を超えるとマイナスになってしまいますが、これを防ぐにはどうしたらいいものでしょうか

960:デフォルトの名無しさん
07/07/26 19:11:50
long

961:デフォルトの名無しさん
07/07/26 19:16:38
>>957
ソース

962:デフォルトの名無しさん
07/07/26 19:31:25
>>960
わかりました。long使ってみます
ありがとうございました

963:デフォルトの名無しさん
07/07/26 19:41:33
すみません・・・
long b = Integer.parseInt(line);
このようにlineを取り込むとlongでも小数点以下がなくなってしまいます
longで取り込むにはどうしたらいいのでしょうか

964:デフォルトの名無しさん
07/07/26 19:48:59
longもintも整数を保持する型
doubleは小数を保持する型
ってかlongに変えたんならInteger.parseInt()使うなよ
long用にはLong.parseLong()がある
doubleを使う場合はDouble.parseDouble()とかもある
これらを実行してどうなるか試してごらん

965:デフォルトの名無しさん
07/07/26 20:05:07
なるほど
いろいろ種類があるんですね
おかげさまで何とか動くようになりました!ありがとうございました

966:デフォルトの名無しさん
07/07/26 20:10:25
>>958
できました
ちょっとしたミスでした
どもです^^;

967:デフォルトの名無しさん
07/07/26 20:42:31
>>947
親クラスの非staticなメンバに直接アクセスするような
インナークラスだとstaticクラスじゃ無理。
たとえば、Iterableを実装するようなクラスがそれにあたる。

>>945のケースだとOuterのthisを要求しているからstaticじゃ面倒だね。

そうじゃない場合、ただの別クラスがたまたまインナークラスになっている場合、
staticにしないとnewするのにいちいち、
new Outer().new Inner();
とかいうわからないコードを書かないといけないハメになる。

まあ、内部に非staticクラスしのばせるのもいいけど、
メソッド内にクラス定義書くのも乙だと思うけどな。かなり嫌われるけど。

968:デフォルトの名無しさん
07/07/26 21:00:58
JUnitをさわりだしたんだけど、これって基本的にpublicな関数・変数のみを
対象にするって感じでいい?

本当はprivateな関数のテストもしたいし、privateな変数にアクセスして
チェックもしたいんだけど。
それともprivateを使わないで全部protectedにしてるとか?

969:デフォルトの名無しさん
07/07/26 21:16:31
>>968
JUnitは単なるツール
どんなテストを行うかは別の問題

970:デフォルトの名無しさん
07/07/26 21:17:16
>>968
(1)リスク駆動で。気になったところからチェックする。
単純な getter や setter などトリビアルなものに対するテストを考えるくらいなら、
もっとやるべきことがあるはずだ、たぶん

(2)protected にするくらいなら、パッケージプライベートで

(3)どうせなら、テストファーストがお勧め
テストを書こうとするだけで、モジュールの独立性や使い勝手などが
設計にフィードバックされる

971:デフォルトの名無しさん
07/07/26 21:59:18
>>956
わたしもprotectedにするべきだと思うんですが
提供されているソースをみるとそうなってなかったんですね


972:デフォルトの名無しさん
07/07/26 23:51:39
サーブレットについて質問。

コンテナに登録されているロール名の一覧を取得する
方法はない?
あるロール名が登録されているかどうかを判別する
だけでもいい。

コンテナはGlassfish v2 Beta 3だが、JEE汎用の方法が
嬉しい。

973:デフォルトの名無しさん
07/07/26 23:53:26
publicなり、protectedのテストがきちんとかかれていれば、privateメソッドもテストされるんでない?
jcoverageとか使ってみれば?

974:デフォルトの名無しさん
07/07/27 01:33:53
for文が上手く動いてくれないです
while(true){}でやるとちゃんと動くですが、どんな条件を入れても動いてくれません
他にもfor文とかの繰り返しはたくさんあるのですが、これだけ動いてくれません

■java 2 SDK SE v1.4.2_14
■WinXP Home

for文の中にprintlnを書いても全く表示されませんでした。
何が原因なのでしょうか?

URLリンク(up.spawn.jp)

975:デフォルトの名無しさん
07/07/27 01:43:11
(´・ω・`)自己解決しました

976:デフォルトの名無しさん
07/07/27 06:26:15
Java(Struts)で、10分に一回、あるテーブルのデータをチェックするという
プログラムを作るにはどうすればよいのでしょうか?
ずっと、そのチェックをはしらせときたいのです。

977:968
07/07/27 07:48:59
レスどーも

>>969
一般的にどんな感じでテストしてるか知りたい。

>>970
JUnitは単体テストなので実装依存(ソースにべったり)のテストコードを
作るのか、あるいは外部から見える範囲内(内部での細かい動作まではテストしない)
なのかを知りたいところ。
リスク駆動と言うのであれば、やはりprivateな変数・オブジェクトレベルでも
チェックしたいかなーと思ったんだけど、普通はそこまではしないもんなのかな。
クラスや関数はパッケージローカルでいいとは思うけど。

>>973
とりあえずjcoverage見てみたけどよくわからんw
IDEと連動しにくいツールは手を出しにくいかも。

978:968
07/07/27 07:51:55
ちなみに今はnetbeans使用

979:968
07/07/27 08:00:03
なんかこんなのあるな
URLリンク(journal.mycom.co.jp)

980:デフォルトの名無しさん
07/07/27 08:47:09
次スレ立てました。

【初心者】Java質問・相談スレッド104【大歓迎】
スレリンク(tech板)

981:デフォルトの名無しさん
07/07/27 09:55:44
>>976
cron

982:デフォルトの名無しさん
07/07/27 10:33:24
Eclipseならプラグインがあったんだが。

>>979
ちょっと試してみたが、なかなか面白そうなツール。
要するに、テスト対象のコードをいじって、テストがそれを検出できるかを調べるツール。
カバレッジとはまた別の視点で単体テスト品質を計測するようだ。

983:デフォルトの名無しさん
07/07/27 10:51:34
文字コード変換について質問です。
開発環境の文字コードはEUCなのですが、

String sample= "さんぷる";
String sjSample = new String( sample.getBytes( "SJIS" ), "SJIS" );

上の処理でSJISに変換されるんでしょうか?
変換された事を確認することってできないんでしょうか?

984:デフォルトの名無しさん
07/07/27 10:55:46
>>983
> 上の処理でSJISに変換されるんでしょうか?
一瞬だけ。

> 変換された事を確認することってできないんでしょうか?
sample.getBytes("SJIS") の戻り値を確認。

985:デフォルトの名無しさん
07/07/27 11:36:56
>>984
>一瞬だけ。
プログラム実行中は変換されたままですよね?

>sample.getBytes("SJIS") の戻り値を確認。
戻り値を確認してみたら [B@ed0338 でした。
変換されたのはなんとなくわかりますけど、こういうもんですか?

986:デフォルトの名無しさん
07/07/27 11:43:53
>>985
> プログラム実行中は変換されたままですよね?
no。すぐにGC可能状態になる。

> 戻り値を確認してみたら [B@ed0338 でした。
toString()が確認に使えるか、もチェックしてから使え。
sample.getBytes("SJIS") で戻ってきた配列の中身を確認しろ。

987:デフォルトの名無しさん
07/07/27 11:44:28
>>983,985
ソースコードを EUC で書いても、String は Unicode です
getBytes("SJIS") で SJIS に変換されるけど、String に戻したらまた Unicode です

988:デフォルトの名無しさん
07/07/27 12:33:10
>>986
配列の中身まではみていませんでした。
確認したら数値が入っていたので調べてみます。

>987
内部コードってやつですか・・・SJISで扱えるのはgetByte("SJIS")の戻り値だけってことですね。

すいません、質問を変えさせてください。
URLConnectionを使って相手先に複数のパラメータを送ろうとしているのですが、
日本語を扱うパラメータはSJISに変換することになっています。
この変換が上手くいかず、今はEUCで送ってしまっている状態です。
日本語パラメータをSJISで送るにはどうすればいいんでしょうか?

SJISに変換した文字列を送ろうと思って最初の質問をしていました。

989:デフォルトの名無しさん
07/07/27 12:49:59
>>988
java.net.URLEncoder.encode("文字列", "SJIS");

990:デフォルトの名無しさん
07/07/27 15:02:02
無料ホームページスペースを使って、JAVAアプリケットをおいてJAVAアプリケットから誰でもそのホーム
ページのFTPに入ってパスワードを入れて
ファイルを書き換えることはしてもいいんですか?

991:デフォルトの名無しさん
07/07/27 16:12:31
規約嫁としか

992:968
07/07/27 16:35:58
JAVAアプリケット関係ない
つーかJAVAアプリケットて何?w

993:968
07/07/27 16:37:02
あ、名前消すの忘れてたw

994:デフォルトの名無しさん
07/07/27 17:45:49
>>992
インストロールみたいなものじゃないの?

995:デフォルトの名無しさん
07/07/27 17:59:24
>SJISに変換することになっています。
分かりづらい地味な嫌がらせだな。せめてUTF-8にしてやればいいのにw

>>990
鯖の規則読んで出来るか確認してjavaアプレットから
どうやってFTP叩くかまで出来てからのご来場をお待ちしております。
じゃなきゃエスパー待ちになるぞ。

996:デフォルトの名無しさん
07/07/27 19:37:43
synchronized 指定されたメソッド呼び出しをしたら、
オブジェクトにたいしてロックが入るの?
それともメソッドだけ??

class Hoge {
public synchronized int hoge(){...}
...
}

Hoge hoge.hoge();

↑ こうやったときに 別のスレッドからはhoge()だけ呼び出しできないのか、
それともhogeに対するアクセスは全部ロック解除待ちになるの?

997:デフォルトの名無しさん
07/07/27 20:40:28
>>996
hoge

998:デフォルトの名無しさん
07/07/27 20:40:39
synchronizedメソッドはsynchronized(this){}と同じ意味だった気がする
だからhogeの他のsychronizedメソッドもロックされるな

999:デフォルトの名無しさん
07/07/27 20:44:21
メソッドは呼び出しできないけどオブジェクトにはアクセスできたと思う
オブジェクトをロックする方法は別にあったはずだし

1000:デフォルトの名無しさん
07/07/27 20:45:07
ガチでか
勘違いしてたぜ(´ー`;)

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch