1 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 21:15:23.40 ID:3TSUYd8+.net] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング 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質問・相談スレッド178★★ [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/tech/1466119015/
64 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 11:28:31.24 ID:xx0O8KZJ.net] ゴスリンが「継承は失敗だった。インタフェースの実装だけにすればよかった」的な発言をしている記事を以前見たのですが、 どなたかご存知ありませんでしょうか?
65 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 12:18:31.57 ID:cVDLvhGg.net] >>62 それVB6のことだよな
66 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 12:33:08.85 ID:O/1X83Cc.net] 実際、昔は継承が基本でインターフェースは多重継承したいときに使うみたいな扱いだったけど 今時は主従が逆転して、多態が必要な時はインターフェースを使うのが基本、 どうしても実装継承したいときのオプションとして継承というのが主流になってるね MSも(VB6時代ではなく最近でも)OOPに継承は必須ではないと言ってる
67 名前:デフォルトの名無しさん [2016/10/22(土) 12:39:19.05 ID:fHFkLLIy.net] 俺が今日Javaスレで一番ポエマー ポエム勝負やるならかかってこい
68 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 12:48:56.21 ID:xx0O8KZJ.net] >>63 ゴスリンがなんかのカンファレンスでのインタビューで答えていた気がするのですが。 VB6のことというのは、ゴスリンがVB6について発言したということですかね?
69 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 13:36:31.61 ID:cVDLvhGg.net] >>66 いえ、継承がなくてインターフェースの実装だけが在るのが VB6という言語なのです。
70 名前:デフォルトの名無しさん [2016/10/22(土) 17:36:44.81 ID:rNB1+Tne.net] 特定の言語に限ったことではありませんが、なぜそんなに継承は嫌われるんですか?
71 名前:デフォルトの名無しさん [2016/10/22(土) 18:04:59.12 ID:WkbZFIwv.net] >>68 別に嫌われてはいないでしょ。
72 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 18:17:23.48 ID:O/1X83Cc.net] >>68 昔のOOPは継承がパッチの手段として使われることが多く、 カプセル化を破って好き勝手にスーパークラスのフィールドを好き勝手にいじくり回していた さすがに反省して現代では継承関係に対してもきちんとカプセル化するのが普通になったけど、 そうなるとあえて継承使う意義があまり無くなっちゃった
73 名前:68 [2016/10/22(土) 18:42:48.70 ID:rNB1+Tne.net] >>69 ニュアンスが違いましたかね。避けられるのですか?に変更で。 >>70 ありがとうございます。 別に継承はルールが複雑だから、というわけではないんですね。
74 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 18:51:14.87 ID:/a8S//3o.net] >>68 中途半端な知ったかが使いこなせなくて dis ってるだけでしょ
75 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:14:42.25 ID:yvrzDyTu.net] むしろ、使えば使うほど不都合が見えてくるのが継承じゃないの? 誰に言われるまでもなく勝手に継承って使わなくなるもんじゃない? 気ままやり散らした末に、やがて限定的にしか使わなくなる
76 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 21:04:54.66 ID:OSlnnavW.net] 自分のよく知らない機能に過剰な期待を抱くのはありがちなこと だからと言ってその機能がダメって言うのは能無しのやること
77 名前:デフォルトの名無しさん [2016/10/23(日) 00:42:47.67 ID:5QVr7BH/.net] >>38 なるほど Javaってすぐあたらしくなるからどうしようと思ってた
78 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 03:10:04.38 ID:vecvwytA.net] javaの案件はアメリカでは前年比-30%らしいですよ
79 名前:62 mailto:sage [2016/10/23(日) 06:24:49.20 ID:+jq6tdTF.net] 発見できました。 www.javaworld.com/article/2073649/core-java/why-extends-is-evil.html で、件の発言がありました。 ゴスリンも結構前から、できるだけ継承を避けるべきと発言していたみたいですね。
80 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 13:36:39.17 ID:5Lr/fOT4.net] まともなマで一つの言語しか出来ないなんてやついない
81 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 14:19:23.00 ID:5nQF6z3A.net] 一つの言語でも、何聞かれても答えられるかって言われたらかなり怪しい。 現状の仕事で困らない程度なら出来るだけ。 複数言語をそこそこ深く、っていう程度でしかないわ。
82 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 14:23:24.95 ID:E+fiGlxm.net] 異なる種類の2言語が分かれば後は同じ、細かいことは知らん
83 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 15:53:20.25 ID:bvAY/bpR.net] コミッターですら自分の担当範囲以外のことは重箱の隅をつつかれたら答えられないよ Javaくらい巨大になったら尚更
84 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 16:46:58.84 ID:zOttNjgq.net] サーブレット名について サーブレットを作る場合、クラス名、サーブレット名、URLの指定が必要ですが、サーブレット名は何に使うんですか? もし使わないのであれば適当な名前でもいいのでしょうか?
85 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 16:52:28.50 ID:JumU/J6D.net] >>82 たしかServlet2以前の遺物 今(3.1)は何を指定していても取得すると空文字列になってるはず
86 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 17:20:47.00 ID:zOttNjgq.net] >>83 つまり空文字指定でいいと言うことですか?
87 名前:デフォルトの名無しさん [2016/10/23(日) 19:05:15.50 ID:squppPd1.net] javadocってみなさんどうやってかいてますか? メソッドを作成するたびに毎回以下のコメントを コピペしているんですが めいんどくさいです 自動的に追加してくれる仕組みとかないですしょうか? /** * * * @param */
88 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 19:16:34.85 ID:E+fiGlxm.net] eclipse、netbeans使えば
89 名前:85 mailto:sage [2016/10/23(日) 21:03:21.34 ID:squppPd1.net] すいませんAndroidstudioなんです
90 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 21:11:10.37 ID:E+fiGlxm.net] 後だし乙
91 名前:デフォルトの名無しさん [2016/10/23(日) 22:41:28.78 ID:WBKR9hZa.net] >>88 先に聞けよ、キチガイ
92 名前:デフォルトの名無しさん [2016/10/23(日) 22:42:31.04 ID:WBKR9hZa.net] ID:E+fiGlxm ← 本日のキチガイID、いつものやつ
93 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 22:47:55.12 ID:iLlepULY.net] /**打った後エンター
94 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 22:53:28.18 ID:E+fiGlxm.net] >>89 >>90 自己紹介乙
95 名前:デフォルトの名無しさん [2016/10/23(日) 22:54:59.04 ID:WBKR9hZa.net] ほらね
96 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 22:57:50.97 ID:+/tu45PN.net] だからJavaスレでJavaの話するなって言ったのに...
97 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 23:07:51.75 ID:Zdk2Mf9g.net] 独自テンプレートとか、ちょっとしたスクリプトに、名前を付けて保存できないの?
98 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 23:51:36.49 ID:bBv5Ku7N.net] javaがインストールできなくて困っております。 具体的にはjre-8u101-windows-x64というファイルを保存した後、 実行しても無反応なのです。 対処法ご存じの方がいたらご教授くださいませ。 Win7 SP1 64bit firefox 49.0.2 メモリ16GB
99 名前:デフォルトの名無しさん mailto:sage [2016/10/24(月) 00:48:21.96 ID:Iurjqdru.net] JRE, JDK は異なる
100 名前:デフォルトの名無しさん [2016/10/24(月) 02:38:29.96 ID:QZF/rJ9Q.net] >>94 ここでしなくてどこでするねん。
101 名前:デフォルトの名無しさん [2016/10/24(月) 19:26:08.08 ID:Ll+GSbv0.net] >>71 いや、そもそもね、継承を何か凄まじくハイスキルを要求する すげぇ何かって考えるほうがオカシイわけで。 >>94 便所で便をするなって言ってるに等しいなコレ。
102 名前:デフォルトの名無しさん [2016/10/26(水) 08:39:42.02 ID:9cCp837f.net] 継承。それは最後のフロンティア。
103 名前:デフォルトの名無しさん mailto:sage [2016/10/26(水) 10:51:36.96 ID:vufNf5D6.net] 青雲。それは
104 名前:デフォルトの名無しさん mailto:sage [2016/10/26(水) 13:03:02.64 ID:kfctdOKY.net] 世紀末
105 名前:デフォルトの名無しさん mailto:sage [2016/10/26(水) 14:47:53.51 ID:XU+QDHXN.net] ポストアポカリプスのイメージは黄色〜赤茶けた空だなあ
106 名前:デフォルトの名無しさん mailto:sage [2016/10/27(木) 07:30:50.20 ID:JaTyEoAX.net] >>71 クソみたいな階層構造作られると、コードを理解できない事が多々ある事が継承の問題だと思うね。 androidのapiとか酷いと思うけど、もうどうにもならんね。
107 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 07:46:00.42 ID:fP6MJmsj.net] メゾット内でTestクラスを if(new Test(object).isTest()){} と使うとすると、どのタイミングでTestクラスのインスタンスは開放されるのでしょうか?
108 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 08:03:37.19 ID:LAzD7QHV.net] そ の う ち
109 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 08:15:27.92 ID:fP6MJmsj.net] >>106 ありがとうございます✌
110 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 18:22:18.27 ID:6ZrmfsYt.net] >>105 if文以降の何処かでとしか言えないな
111 名前:デフォルトの名無しさん [2016/11/01(火) 20:39:38.38 ID:YJmGCe02.net] >>108 はっきりしろよ
112 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 21:16:29.49 ID:df1c8z1T.net] >>108 GC次第ってことですよね?
113 名前:デフォルトの名無しさん [2016/11/01(火) 21:20:54.04 ID:YJmGCe02.net] >>110 バカ野郎、if文以降の何処かでとしか言えない人間が GC次第と言えるわけがなかろうが
114 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 22:28:40.88 ID:/q+SIvid.net] PHP使いのブラウザゲームより快適なブラウザゲームをJavaで作りたいです どのフレームワークや技術を使えばPHP使いを倒せますか?
115 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 22:29:42.96 ID:o4WGeuVh.net] ブラウザゲームならnode使った方が良い
116 名前:デフォルトの名無しさん [2016/11/01(火) 22:34:50.00 ID:8HENSuJc.net] ブラウザってことは Java Applet? しかしブラウザのプラグインがなくなりつつあるわけで、作っても誰もやらないと思うんだが。 それともAndroidのスマホアプリ? そらならまだ大丈夫だよ。今のところは。
117 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 22:42:17.02 ID:o4WGeuVh.net] ブラウザゲームだからスマホアプリではないと思う PHPの代わりだからjavaサーバー使うのでは?
118 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 22:44:29.72 ID:/q+SIvid.net] >>113-115 サーバーサイドにJavaを使いたいです 一応Seaser2でwebソケットならやったことがあります
119 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 22:48:35.33 ID:o4WGeuVh.net] >>116 node使う気はない? socket使うなら絶対nodeの方が楽だと思うけど
120 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 22:52:34.69 ID:/q+SIvid.net] >>117 サーバーサイドJavaScriptはまるで触ったことがないもので手を出すか悩みます
121 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 22:55:50.02 ID:o4WGeuVh.net] >>118 「サーバーサイドJSは」って事はブラウザJSは触った事あるんだよね? なら余裕 この機会に覚えようぜ
122 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 22:57:21.13 ID:o4WGeuVh.net] javaを普段使っているとjsの動的型付けに戸惑うと思うけどTypeScript使えばOK
123 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 23:27:17.58 ID:/q+SIvid.net] >>119 サーバーJavaからwebソケットで値を受け取ってHTML5CANVASのグラフやJQueryの表をJavaScriptで制御するのを少しやったことがあります >>120 ちょっと不安なのとJava要素がなくなってしまいましたがtypescriptに入門してnode.jsに流れてみようかと思います
124 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 06:45:24.79 ID:LQJPvGaL.net] Haxe(ヘックス)はOSSで、JSに型チェックを付けたような言語で(altJS)、 JS(ES5), Flash, PHP, C++, Java, C#, Python に書き出せる。 Windows8.1対応。IDEは、FlashDevelop このサイトで、ブラウザでプログラミングして、実行できる Try Haxe ! try.haxe.org/ Haxeプログラミング入門、尾野政樹、2015 Haxeには、ブロックスコープ { } がある。 this も正常に、インスタンスを指す ソースコードを文字列化して送っても、型が消えない。 全く同じ処理を、複数言語で作らなくてよい 引数付き Enum Scalaのようなパターンマッチありの、switch 大規模開発に向く
125 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 22:06:10.53 ID:pD2pdTer.net] 残念ながら同じ処理を複数言語で作るニーズなんかほとんど無い プログラムは言語だけでなくプラットフォームやフレームワークに強く依存するし、 そこを無理に皮被せて共通化してもプラットフォームの特性を活かせず失敗するのはJavaが通った道 スマホアプリに限っては辛うじてニーズが無いこともないけど、 そこはC#とJSがしっかり抑えてるのでHaxeなんかお呼びでない
126 名前:デフォルトの名無しさん [2016/11/02(水) 22:24:31.59 ID:QrC60bZw.net] いや、これはこれでいいんじゃないか?
127 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 22:38:47.78 ID:WL73ssGd.net] 存在くらいは許してやってもいいだろ でしゃばって来られると邪魔だけど
128 名前:デフォルトの名無しさん mailto:sage [2016/11/03(木) 14:46:25.15 ID:tIHhuHZd.net] javaでoracleのtranslate関数相当のことをやるにはどうすればいいでしょうか?
129 名前:デフォルトの名無しさん mailto:sage [2016/11/03(木) 18:33:02.79 ID:DmA3ZtrO.net] translate関数を知らないが www.shift-the-oracle.com/sql/functions/translate.html これを見る限りたぶんこういうことかな、<null>は意味が分からないからやってない https://paiza.io/projects/tYikeLCa94U8AkshnxWlng
130 名前:デフォルトの名無しさん mailto:sage [2016/11/03(木) 21:02:52.35 ID:qog1sGP5.net] >>127 す、スゴイ! こんなにシンプルに実装できるとは。 ありがとうございます!
131 名前:デフォルトの名無しさん [2016/11/03(木) 22:17:21.49 ID:gxlZShOp.net] umlを用いて設計作りからプログラム完成まで書いてる手引き本みたいなものってありますか?
132 名前:デフォルトの名無しさん mailto:sage [2016/11/04(金) 01:58:48.08 ID:A/+Iym3t.net] AmaterasUML とか? 「java uml eclipse」で検索!
133 名前:デフォルトの名無しさん [2016/11/04(金) 12:40:36.38 ID:HurD3YCT.net] DBのsqlでの関数?
134 名前:デフォルトの名無しさん [2016/11/04(金) 12:43:12.69 ID:HurD3YCT.net] いかん。リロードしてなかった。もうとっくに解決してた。orz
135 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 09:46:54.68 ID:xQ
] [ここ壊れてます]
136 名前:smt8v2.net mailto: webアプリのフレームワークって今は何が主流なんでしょうか? strutsは使ったことあります。 [] [ここ壊れてます]
137 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 10:54:56.67 ID:e3La8cLw.net] Java EE
138 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 12:21:09.50 ID:xQsmt8v2.net] spring mvcがいいですか?
139 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 12:55:27.09 ID:fc9VWf0U.net] >>135 >>134
140 名前:デフォルトの名無しさん [2016/11/09(水) 06:27:46.53 ID:3JJyx7iS.net] >>133 そもそもJava EEで作るのが古い。
141 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 07:55:36.10 ID:6Uz9CcBE.net] じゃあNode.js?ASP.net(Core含む)?
142 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 08:29:36.71 ID:qqny+Fvy.net] それならなにで作るの? って話に戻るやん 今から新規でWebベースの業務アプリをJavaでやれってなったらまずはPlayかSpring bootが候補でしょ Java EE7は足りないものが多すぎて足周りを整えるのがまず大変 EE8でマシになったらまた検証するか、ぐらい
143 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 08:53:49.06 ID:RgLm0TO6.net] 邪道
144 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 10:01:31.20 ID:EFK8aY21.net] 動いて遅くなくてセキュリティアで高過負荷にならなくて大量にメモリ消費しなくて開発もしにくくなけちゃなんでもいいよ
145 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 10:16:47.98 ID:twT0+Yus.net] バグがなくて高負荷にも耐えられてセキュアで消費メモリが小さく開発がしやすいフレームワークw
146 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 16:20:45.68 ID:tDjFrno3.net] やはりspring mvc一択なんですかね
147 名前:デフォルトの名無しさん [2016/11/09(水) 16:32:21.30 ID:27rrZW4H.net] >>137 なら、何で作るのが新しいのか、今直ぐ説明してみせろよザコww 電卓すら作れないようなガキが、でかい口叩いてんなよw
148 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 17:53:53.31 ID:6Uz9CcBE.net] 位相幾何学レベルで投げた俺は電卓とか一生作れそうにない。 え?メシ食えりゃいいのよ。
149 名前:デフォルトの名無しさん [2016/11/09(水) 18:43:40.14 ID:27rrZW4H.net] >>145 電卓も作れない奴が、喰う食わない語ってんじゃねーよ。 スレから消えろ
150 名前:デフォルトの名無しさん [2016/11/09(水) 20:03:51.35 ID:6bsCGvZd.net] 電卓怪人現る
151 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 20:36:04.12 ID:eVEbSkLn.net] playってどうなの? やっぱspring一択?
152 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 20:41:37.25 ID:/U3nRahY.net] playは少人数でやる分にはかなり使いやすい部類なんだけど、外注とか協力会社さんを探すとSpringと比べて経験者が少ないからコストがかかりやすい
153 名前:デフォルトの名無しさん [2016/11/09(水) 22:54:34.73 ID:3JJyx7iS.net] >>144 だからJavaはWebアプリケーション用にもともと作られていない。 たかがWebアプリケーションを作るのに非効率きわまりない。 PHPでもいいし、オラクル社はOracle Application Expressを勧めている。 いまどき画面を作るのにJava EEみたいな、仕様に従ってないアプリケーションサーバ、仕様バラバラ、構成千差万別、こんな複雑な仕組みはいらないシステムがほとんど。
154 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 23:00:47.93 ID:TYo2Em+d.net] ペチパーにオラクルのお勧めw
155 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 23:52:43.31 ID:/U3nRahY.net] 裏をJavaにするのはまだアリだと思うの でもフロントはJFSもJSPももういらないでしょ JSON受け取って処理してJSON戻してればいいと思う そしてそんな用途だとNode.JSの方がフロントからバックまで言語統一できるから良かったりするかも # 当然使うのはTypescriptみたいなAltJSだけどさ
156 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 23:56:58.61 ID:TYo2Em+d.net] じゃどん@西郷
157 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 00:03:48.63 ID:CGPJd07S.net] テンプレートエンジンはJSPとJSFだけじゃないし(震え声
158 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 00:06:12.47 ID:YWcVb08b.net] オラクルはJavaを腐らせた張本人だろw
159 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 01:06:20.05 ID:CV0LD/LG.net] >>149 個人的に手を出してみたかったから悪い噂がないならやってみるよ ありがとう
160 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 06:05:05.50 ID:xyvvKi/i.net] 数値と文字を含む文字列を、数値桁数を考慮してソートする方法を探しています。辞書ソートとでも言えばいいのでしょうか。 1c 12b 123a a9 a89 a789 おそらく、数値は桁数に関わらず1文字扱いとして、数値部分は数値順にソートすればいいように思うのですが。 書き方が思いつかないので教えてください。
161 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 07:03:43.01 ID:6KREf9X3.net] >>157 数値部分を正規表現で切り出して数値に変換して比較する Comparator を作ればいいだけかと
162 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 08:34:16.27 ID:t0aZNlNJ.net] String[] samples = { "1c", "12b", "123a", "a9", "a89", "a789", }; Comparator<String> c = new Comparator<String>() { @Override public int compare(String o1, String o2) { int i1 = Integer.parseInt(o1.replaceAll("\\D", "")); int i2 = Integer.parseInt(o2.replaceAll("\\D", "")); return i1 - i2; } }; System.out.println(String.join(" ", samples)); Arrays.sort(samples, c); System.out.println(String.join(" ", samples)); >>158 の言ってることをそのまま書くとこうなるかな、でも多分これじゃないね ぱっと見る限り16進数を知らずに問題をこじらせてるようにも見える どのみち自分の思い通りになるようcompareを書き換えられるはず
163 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 12:48:10.69 ID:wxBwv8wK.net] それっぽいのを見つけました。dotnetですが、 https://www.dotnetperls.com/alphanumeric-sorting これを移植すれば動きそうな気がします。 Javaならこう書くなどあれば教えて頂けると助かります。
164 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 15:00:38.05 ID:t0aZNlNJ.net] alphanumeric sort java で検索すればいくらでも見つかるじゃないか ライセンスもさまざまだがインスパイアされたと言ってるのが blog.icodejava.com/261/how-to-sort-alpha-numeric-strings-in-java/