スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

NumberFormatExceptionについて

ここ1年くらいJavaのWebアプリを書いてるんだけど
入力パラメータを数値に変換する局面でいまいちうまく書けない。
だいたいいつもこんなコード書くんだけど

String codeParam = request.getParameter("code");
int code = 100; // 初期値
try{
  code = Integer.valueOf(codeParam);
}catch(NumberFormatException e){/* 握りつぶす */}

なんかこー、イマイチイケてない。
んで、ちょっと調べてみたんだけど
commons-langにNumberUtilsという良いクラスがあった。

toInt(String str, int defaultValue)
Convert a String to an int, returning a default value if the conversion fails.

ここから引用

これを使えば

int code = NumberUtils.toInt(request.getParameter("code"),100);

んー、スッキリ。
スポンサーサイト

GAE SDK (java) の開発サーバーが立ち上がらなくなった。

立ち上げてUbuntuのソフトウェアアップデートかましたら
他は何もやってないのにEclipseでの開発サーバーが立ち上がらなくなった。
先週までは無事に立ち上がってたのに・・・・・・。

java.lang.RuntimeException: Unable to restore the previous TimeZone
at com.google.appengine.tools.development.DevAppServerImpl.restoreLocalTimeZone(DevAppServerImpl.java:252)
at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:190)
at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:164)
at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
at com.google.appengine.tools.development.DevAppServerMain.(DevAppServerMain.java:113)
at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89)
Caused by: java.lang.NoSuchFieldException: defaultZoneTL
at java.lang.Class.getDeclaredField(Class.java:1899)
at com.google.appengine.tools.development.DevAppServerImpl.restoreLocalTimeZone(DevAppServerImpl.java:246)
... 5 more

原因はよーしらんけどこんなエラーがでる。

起動時のパラメータに

-Dappengine.user.timezone=JST

ってつけたら無事起動するようになった。
※参考URL内ではUSTになってたけど、ここは日本だよねってことでJSTにしてます。

参考にしたサイトはほとんど読んでないけど
それっぽいパラメータためしたらすぐ動いてくれたから助かった。
こーいうのはちょっと勘弁してほしいなァ( ・ω・)

参考:http://code.google.com/p/googleappengine/issues/detail?id=6928

Effective Javaを買いました。


Effective Java 第2版 (The Java Series)Effective Java 第2版 (The Java Series)
(2008/11/27)
Joshua Bloch

商品詳細を見る

これを買ってきました。
時間ねーのに。。。。
PDFにしちゃってなんとか隙間時間に読んでいきたい

twitter4jでbotを作る。(twitter4jを試す。)

PHPで書いていたRSSのbotがとまってから早一ヶ月
そろそろ復活させたいのでGAE/Jに焼きなおすことに。

とりあえずTwitterにつぶやくってことをしなきゃいけないので
簡単そうなtwitter4jというライブラリを使ってつぶやくってところまでを
やってみることにした。

書いてみると驚きの簡単さで
予備知識まったくなくてもつぶやくだけなら5分で書けちゃう。
すごいなー、twitter4j。作者様にマジで感謝。

あとはBigTableにRSSのURLと最終更新日時を入れて、
実行時に登録されているRSSのフィードデータを読んでツイート→最終更新日時を更新とするだけ。
あ、あとbit.lyによる短縮もか。。。。

なんか、一番面倒だとおもっていたところが一番あっさり終わっちゃった気がする。(゚ω゚ )


package jp.sunflower09;
import java.util.Date;

import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.auth.AccessToken;


public class TweetTest {
 public static void main(String[] argv){
  String consumerKey = "xxxxxx";
  String consumerSecret = "xxxxxx";

  String accessToken = "xxxxxx";
  String accessTokenSecret = "xxxxxx";

  TwitterFactory factory = new TwitterFactory();
  Twitter twitter = factory.getInstance();
  AccessToken at = new AccessToken(accessToken, accessTokenSecret);
  twitter.setOAuthConsumer(consumerKey, consumerSecret);
  twitter.setOAuthAccessToken(at);
  try {
   Status status = twitter.updateStatus("コンソールアプリケーションによるテストです。" + new Date());
   System.out.println("Successfully updated the status to [" + status.getText() + "].");
  } catch (TwitterException e) {
   // TODO 自動生成された catch ブロック
   e.printStackTrace();
  }
 }
}

テーマ : プログラミング
ジャンル : コンピュータ

プロフィール

ラム君(モヒカンVer)

Author:ラム君(モヒカンVer)
都内でプログラマのようなものをやっています。
まだまだ初心者ですがよろしくお願いします。

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。