Scala2.8.0では、scala.collection.JavaConversionsオブジェクトのメソッドをインポートしておくと、変換を自動的に行ってくれるようになる。 したがって、Javaコレクションに対しScalaコレクションのメソッドを適用すれば、JavaコレクションからScalaコレクション(のラッパークラス)に暗黙に変換される。 scala> import scala.collection.JavaConversions._ import scala.collection.JavaConversions._ scala> val jl = new java.util.ArrayList[Int] jl: java.util.ArrayList[Int] = [] scala> jl += 123 res0: scala.collection.mutable.Buffer[I
ちょっと興味があって[www.playframework.com/:title=Playframework]を触っています。 自宅のmacと会社のWindowsPCにそれぞれPlay2.1の環境を作って共有しているんだけど、 WindowsPCでPlayプロジェクトでplayコマンドをうつと、以下のようにコンソールにで起動に失敗する。 Error occurred during initialization of VM Could not reserve enough space for object heap Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.PCのスペックはWin7 32bit メモリ2G ヒープ領域が確保で
バイト配列として与えられた入力文字列がUTF8かどうかの判定をしたくてググったら割と上位に出てきた JavaでUTF-8の文字コードを判定する を参考にさせてもらって色々やっていたのですが上手くいかなかったので、上手くいった自分のコードを投稿。 考え方は一緒でとりあえず目的の文字コードでString(Unicode)に変換して更にgetBytesで元に戻した時バイト配列が一致するかどうかで正しく変換できていたのかどうかを判定して、正しく変換できていたのならその文字コードなのだろう、というやり方。 もちろんASCII文字列だった場合はどっちもtrueを返します。 public static boolean isUTF8(byte[] src) { try { byte[] tmp = new String(src, "UTF8").getBytes("UTF8"); return Array
2021年5月7日追記 個別にJDKをインストールするのを止めてSDKMAN!を使いましょう。 rbenvやpyenvのように複数のJDKをバージョン別に管理できますし、JDK以外のgradleなどのJVM言語開発用ツールも同様に管理できます。 以下は古い内容ですが、2021年5月13日現在の最新のmacOS Big Surでも利用可能な方法ですので一応残しておきます。ですが個人的にはmacOSのバージョンに依存しないSDKMAN!の使用を推奨します。 [Deprecated] 注意事項 本記事に書いてある内容はOracleJDK,OpenJDK,AdoptOpenJDKで動作を確認したもので、他のJDKについては不明です。 [Deprecated] 忙しい人向け export JAVA_HOME=`/usr/libexec/java_home -v 10` #java10が使いたいとき
RPMベースのLinux x64版Javaのインストール方法 このトピックは、次に当てはまります。: プラットフォーム: Red Hat Linux, SUSE Linux, Oracle Linux, Oracle Enterprise Linux, SLES Javaバージョン: 8.0, 7.0 Linuxシステム要件 サポートされているプラットフォーム、オペレーティング・システム、デスクトップ・マネージャおよびブラウザについては、サポート対象のシステム構成をご覧ください。 注意: 他のLinuxディストリビューション向けのJavaのダウンロードについては、Java for Ubuntu、Java for Fedoraをご覧ください Linux版Javaをダウンロードしてインストールするには、次の手順に従います。 ダウンロード インストール ダウンロード この手順では、システムの場所
We have a timestamp epoch column (BIGINT) stored in Hive. We want to get Date 'yyyy-MM-dd' for this epoch. Problem is my epoch is in milliseconds e.g. 1409535303522. So select timestamp, from_unixtime(timestamp,'yyyy-MM-dd') gives wrong results for date as it expects epoch in seconds. So i tried dividing it by 1000. But then it gets converted to Double and we can not apply function to it. Even CAS
文字列からDateを導き出すには、SimpleDateFormatを使うことが多いと思いますが、 英語圏でよく使われる、 Sun, 07 Nov 2010 05:24:39 +0000などの表現を "EEE, dd MMM yyyy HH:mm:ss Z"でparseしようとしたら、ParseExceptionが出てしまいました。 APIドキュメントを読んでも、EEEという表現で正しいし、AM/PMを意味するaaを使っても同じくParseExceptionが出ました。 結構悩んだのですが、結論から言うと、Localeを設定する必要があったようです。 SimpleDateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH); というようにしたら上手く動きました。 Javaの人にとっては常
length length属性は配列すべてに用意されている配列サイズを返す属性です。 length( )と言うものもありますが、これはStringオブジェクトやStringBufferオブジェクトの文字列数を返すメソッドであり、配列の属性lengthとは異なります。 length属性はしばしばforループ内で配列に何らかの処理を行いたい時などに使用します。 例1 public class ExArray { public static void main(String[] args) { int[] intArray = new int[10]; //(1) for (int i = 0; i < intArray.length; i++) { //(2) intArray[i] = i * 10; //(3) System.out.println(intArray[i]); //(4)
複数の配列を結合して一つにまとめたいとき、一つの方法として、Systemクラスのarraycopy()メソッドを使うことが考えられます。static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 以下は、整数型の配列を乱数を使って2つ作り、それを結合します。 package kihon; class Sample { public static void main(String[] args) { int array1[]=new int[5]; for(int i=0; i array1[i]=(int)(Math.random()*10); System.out.print(array1[i]+","); } System.out.println(); int array2[]=
JavaでCSV出力をする必要があって、自分で書くのは嫌なのでライブラリを探しました。 最初は、 Commons CSV を検討していました。 Commons CSVは暫く2007年ぐらいから開発が始まっていたようですが、 2014年になって漸くリリースされたライブラリで、 後発な分イケてるのかなーと思って眺めていましたが、 アノテーションで出力する列の指定などが出来なさそうなので却下しました。 やりたいのは Entity からサクッと出力する事なんです。 続いて見つけたのが、 Super CSV Annotation でした。 こちらは Super CSV にアノテーションの機能をプラスしたやつでした。 これはイケそうだと思って検証していると、 ダブルクォーテーションで囲む設定が全項目に対して囲むかどうかしか出来ませんでした。 しかもヘッダーの項目も含めて囲まれてしまうという。。。 (間
When you get an OutOfMemoryError with the message “PermGen space” (not to be confused with message “Java heap space”), this means the memory used for class definition is exhausted. Fortunately, most of the time, this is easy to fix. Solution 1. (your best bet). Increase the size of PermGen space If you have a Java process that uses a lot of classes (lots of jars) or if you have many applications d
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く