★★Java質問・相談スレッド180★★ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
(p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※
質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。
前スレ
★★Java質問・相談スレッド179★★
http://echo.2ch.net/test/read.cgi/tech/1476706523/ EclipseはLinuxでも動くしC言語とか他の言語開発でも使えるからいいよな。 Eclipse, IntelliJ IDEA, Android Studio, NetBeans, Gradle
Groovy, Kotlin >>584
未だにλがどうのストリームがこうのと揉めてる時代遅れの人達でしょ
明らかにそっちの方がおかしいよ でも時代の先を行ってるはずのC#erも、その辺のプログラマのレベルでいえば、大したもん作ってるわけでも特筆するような生産性を叩き出してるわけでもないからなぁ どうなんだろね
ホントの成果って企業が隠してたりするからね 本当にコアの技術を支えてるとんでもない人たちは高級アセンブラであるCを愛用している JNIの質問もここでよいのですかー?
androidでJNIを使いました。
javaのStringをCへjstringで渡してGetStringUTFCharsでconst char*には変換できました
そこから別の関数Hoge(const char*)にGetStringUTFCharsで変換したポインターを渡すと
文字が無くなってしまう(android studioから見ると""と表示される)になってしまうのですが何が問題なのでしょうか?
strcpyでchar配列にコピーしてからHoge(const char*)に渡しても同じでした
JNIEXPORT void JNICALL nativeTest(JNIEnv *env, jobject thiz, jstring filename) {
jboolean copy = false;
const char *p = env->GetStringUTFChars(filename, ©);
Test(p);
}
void Hoge(const char * p) {
//*pが""になる
} ごめんなさい
上のTestって関数を呼んでた・・・・
JNIEXPORT void JNICALL nativeTest(JNIEnv *env, jobject thiz, jstring filename) {
jboolean copy = false;
const char *p = env->GetStringUTFChars(filename, ©);
Hoge(p); //間違ってた
}
void Hoge(const char * p) {
//*pが""になる
} >>591
ハード屋って言うのはVerilogとかVHDLとかを使う奴のことだろ >>594
グルると GetStringUTFChars() を呼び出す個所は
env->GetStringUTFChars(filename, ©);
ではなくて
(*env)->GetStringUTFChars(filename, ©);
のように書いてあるプログラムばかりが見つかるわけだが、JNIEnv が struct JNINativeInterface * ならば JNIEnv *env
は struct JNINativeInterface **env なわけで、にも拘わらず env->GetStringUTFChars(filename, ©); と書いたならば
コンパイルエラーにはならんのか? >>576
UIとか関係なくてたんに
PCからスマホにメイン市場が移ってるから
AndroidのJavaに開発者が集まってるんだろう
言語だけ見たらJavaよりC#の方が先進的だな
でもScalaやF#の方がさらにその先を行ってるけど >>595
コアの技術を支えてるとんでもない人たちは >>598
Cを使うようなハードウェア屋はそんなにコアではないだろ
わりと高レベルな部類 C#とJavaだとタイプ量がまるで違う
8になるとようやくλやstreamが使えるようになって多少改善されるけど
それでもまだまだコーディングを楽にする様々な言語仕様の差は大きい
両方使ったことがあってJavaが楽だなんて考える奴はちょっと頭がおかしい
それかC#を使ったことない食わず嫌いなんだろうね >>600
お前にとってプログラミングってのは指の労働なんだなw >>601
頭脳ろうだからこそ指の労働を減らしたい
そんな当たり前のことがわからないんだね
だからJavaとかいう冗長な言語をありがたがるんだろうなぁ >>600
ラムダ式って名前がついた記法であってλじゃないよ >>607
俺はパチスロの機種のことだと思ったぜ・・。 ラムダ式のラムダはλのことなんだし
ラムダ式をλって略して言っても、この場合普通の人は文脈からそれがラムダ式であることを理解できるだろ まだクソの役にも立たない引き籠りコンピュータオタク同士でケンカしてたのかよw >>609
CR機は知ってるがCRCなんてあったっけ? >>606
アホ
長いコードを読む労力に気が付かない >>570
盛者必衰
特に潰しにかかる企業が居たりすると >>602
じゃあC#がもっとも簡潔で優れた言語なの?
もっと強力な言語はあれど、あまり先進的でも使いこなせないし、俺程度ならこんなもんでいいかって妥協してC#使ってるだけでしょ
ま、なにが言いたいかというと、JavaもC#もプログラミング言語全体で括れば似たようなもんだし、
多少C#の方が強力なのが事実とはいえ別にお前が偉いわけでもすごいわけでもないんだから
いちいちJavaスレにドヤ顔しにこなくていいよ、C#ユーザー程度が どんな言語使おうが構わないから、仕様通りに動くもの作ってよ JavaスレでC#とかアホ御用達言語を力説するJavaが使えない低能とか滑稽すぎるw
はよ人並みに使えるようになれよ阿呆 >>617
動きのみを規定している中途半端な仕様か javascriptで
HTML側にoncickで一度でjsに行き
jsのクリックで
ダミーボタンをクリックさせて
ダミーボタンのアクションを発生させたいのですが
どうもダミーボタンのクリックが動かない
いい方法ありませんか? IDE無しでJava触ってる奴なんかおらんやろーwwwwww
IDE無しで素のテキストエディタだけで書けって言われたら逃亡するわ >>627
早くAPIリファレンスだけリリースして欲しいわ
検索窓はよ >>626
Java 学習中の頃は vi でやってたよ。確か20年ぐらい前。 java 7
Apache commons
の環境でstream apiの代替品ってありますか? 社員以外はネット接続不可の会社のプロジェクトで
秀丸をデフォルトエディタにするようにわざわざ規約にまで書いてるところあってストレスやばかったわ
使いずらいしグレップが話にならんレベルで糞だし時代に取り残された頭弱い社員いるとホントきついわ 頭がいいからお前らにネットを使わせなかったんだろ? >>631
俺は当時メンヘル無職で、4000円の秀丸がどんなけ欲しかったか・・・。メンヘル無職だったから、
当時の例の暗号も知らず・・・。 サーブレットやっていて質問あるのですが、
DAOって各テーブル毎にsearchやらinsertメソッド作らなきゃいかんのですか? jdk9がリリースされましたがモジュール・ルールのせいで、#!/bin/bashで起動できません。bash$ java -jar main.jar では起動できますが警告が出ます。
WARNING: An illegal reflective access operation has occurred
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
検索すると java --add-...のオプションで云々のようです。
使い捨てプログラムであってもこのようなjava9ルールに従うのも勉強するのも面倒です。java8以前でコンパイルしたものをbash;console;bat.shで警告なしで通常起動するには、結局どういう作法に則れば良いのでしょうか。適当なポインタをお示しください。 どのjavaアプリは内緒ですが、
WARNING: Illegal reflective access by ... to field sun.awt.X11.XToolkit.awtAppClassName
です。それとnetbeans8.2はjava9に対応してないようですね。
netbeans9も開発移管でドタバタしていて、もうnetebansとしてはリリースもされないかもしれません。がそのあたりの今後の事情もどうなっているんでしょうか。 >>646
それ
異論はあったけどそのシステム関数の呼び出し方はJavaa8までは認めて来たけどもうJava9じゃダメにすっから
ただ今すぐじゃなくていつか必ずね
ってエラーじゃなかったっけ?
対処はプログラム修正だけの記憶 再コンパイルですか?配布アプリや、ライブラリ同様、自作でないし、ソースもないのでそれは無理ですね。ソースがあってもそういう面倒な絶対にしません。
もうjava9はvb6 or vb.netのような使い方を提供しないのでしょう。使い捨てprogramming用途も目指さないのでしょう。これからjshell云々で勉強する人たちを思うと、なんか泣けてきますね。 ウチのならこんな感じ
肝は最後の行
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.monazilla.秘密 (file:秘密) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int)
WARNING: Please consider reporting this to the maintainers of org.monazilla.秘密
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release 多分これのことじゃないかと思ってる
最後の行は--illegal-access=warnとかjava --add-...のオプションで云々のことだろうけど
多分間違いなんじゃないあkと
https://builder.japan.zdnet.com/sp_oracle/35095997/
JDKの内部APIの大半が利用できなくなる(JEP 260)
JDKには、JDK外部からの利用を想定していないAPIが多数含まれている。
これらのAPIは隠蔽されておらず、ごく普通に使うことが可能であったため、少なからぬアプリケーションで使われてきた。
しかし、JDK 9からは大半の内部APIへのアクセスが不可能となり、アプリケーション開発において利用できなくなる。
ただし、以下に示すAPIについては、代替となるPublicなAPIが用意されるまで、例外的にアクセスが可能なまま残されることになっている。
sun.misc.Cleaner
sun.misc.{Signal,SignalHandler}
sun.misc.Unsafe
sun.reflect.Reflection::getCallerClass
sun.reflect.ReflectionFactory
アプリケーションが内部APIを使用しているかどうかは、JDK 8以降に付属するツール「jdeps」を使って調べられるが、
JDK 8のjdepsとJDK 9 EA(Early Access)版のjdepsは異なる結果を返す可能性があるため、
JDK 9 EA版のjdepsを使って確認することを推奨する。
また、JDK 9以降でも、実行時のコマンドラインのフラグによって元の振る舞いに戻せるという。 >>649
ClassLoader; setAccessible(T)も云々ありましたね。リリースノートに。
>>650
そういうお題目を聞きたいのではありません。java8以前のプログラムを、再コンパイルなしで、java9でも問題なく使うにはどうするのかということを聞いてます。要するに、java9のモジュール・ルールを完全無視しても問題ないように使うにはどうするのかということです。
相手の要求について、それへの読解力もなく、知能も低いなら、私のレスに、あなたの時間を使う、必要はありません。解法を知らないなら余計な口出しも時間の無駄なので不用です。 >java8以前のプログラムを、再コンパイルなしで、
>java9でも問題なく使うにはどうするのか
たぶん、Java8, Java9 のコンパイル済みバイトコードの互換性が無いんだろ jshellネタもお聞きしたかったんですが無理そうですね。検索したものを、自力で、写経など、して欲しいわけではないので。「だろう」など予測や、「だろ」など推論などのたぐいも興味ありまままません。
>>652
その低レベルで互換性がないんですかね。オプション(やモジュールファイルを書くことで)でどうにかなると思うんですけど。
「たぶん」ということは、そこを解説した(日本語などの)記事は、リリースの今まで、なかったんですか。
これほどの互換性破棄は、警告の含みを持たせても酷いですね。この様子だと、オラクルはジャバを数年で手放す感じです。モジュール化できたのでオラクルに不利益は無いです。JVMはどうするんでしょうか。 餌を欲しくて必死に尻尾を振るオモシロ生物を観賞できるのはこのスレですか? おもしろ生物にしっぽがあるのはおもしろいんでしょうね。イメージ沸かないですがどんなんですか? 俺様さんが解法を知っていようが今井が私にとってはどうでもいいことです。解法を教えてくれるかどうかにも興味ありません。
ところで、隔離スレの方で顔文字さんが荒らしてるようですが、いつからですあk? >>655
俺様さん。まったく面白くないので。もう時間の無駄な浪費はしなくていいです。理解力、低学歴、読解力、低知能、どれもこれも、あなたには失望しました。 631デフォルトの名無しさん2017/09/18(月) 16:34:16.51ID:0xMGaykj
日本では案件終了したら解雇ってのができないから結局自社で開発人員雇えず外注するしかない
大企業から直接受注する所も同様に大規模案件だから社員増やすなんてことできずそのリスクを下請けにたらい回しにする
つまり根本原因は日本の雇用の仕組みにあって簡単に解雇できるようにすれば解決するわけで、
連合が賛成しかけてたが結局反対になったのにはがっかり
632デフォルトの名無しさん2017/09/18(月) 18:06:07.38ID:4jqNAKfb>>633
swiftやkotlinを使えない奴がXamarinに逃げてんのか
633デフォルトの名無しさん2017/09/18(月) 18:16:18.13ID:8X6lOc6E
>>632
Xamarinそんな人気なんだw
634デフォルトの名無しさん2017/09/18(月) 18:38:12.39ID:JlWtxMf6
人脈がない人お断り >>661
自己紹介おーーーーーーーーーーーーーーーーつ >>664
ところで、java9 illegal...warnの解法は検索して見つけてくれましたか? 業務環境端末のjre勝手にアップデートするアホは死んでいいよ。
テストの時間ひねり出さなきゃならん。 テストランナー起動するだけじゃん
テストを軽視して何も準備してこなかったお前が悪い 人のやることなすこと何でも文句を付けるだけの民進党みたいな奴がいるな オラクルお得意の殿様商売ですか。ジャバの開発続行はオラクルにとって何のメリットも無いので、そろそろ手放さないとお荷物になるでしょうね。
訴訟があったのでやっぱりグーグルかMSが買い取るのが最良でしょうか。携帯。スマホ。10万円。オラクルにこのマーケットはもう関係ないですね。 >>672
デスマーチ=死ってまた貧弱な発想だなぁ 自演したり、ID変えたり、偽装したり、ばか丸出し?それとも昭和?
ム板のレベルがさらに下がってもどうでもいいです。
うんこちんこで1000レス目指すのもありなんですかね。スクリプトとかAIとかで。 オラクルは所詮うんこなんでこれも仕様がないですね。 >>674
貧弱なおつむで搾り出して、その程度ですかw あっ
生きてて楽しくないから2ちゃんでそんなことしてたんだっけね
ゴメン
気付いてあげられなくて 「オッサン」て言葉を使ってみたかったんですか?
そういうちんこまんこおっぴろげは隔離スレでやってほしいんですけど。あなたは社会のルールすら守れないんですかね。もしかしてゆとり世代? オラクルもこういうゆとりちゃんの相手をしないといけないわけだから。ジャバはもう手放すしかないね。知能も低い。学力も低い。しかもルールも守れない(知らない)から、サポートしきれないでしょ。ジャバは資格商法で小銭稼ぐぐらいしか使い道がない。 ■ このスレッドは過去ログ倉庫に格納されています