You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
タイトルだけでは何を言っているかよくわかりませんが, public class Foo<T> { private Class<T> clazz; ... public void something() { // 例えばここで clazz を使って何らか処理をする System.out.println(clazz); } } みたいな class があるときに,ここの clazz に T の実際の class (ParameterizedType) を上手いこと inject したいと言う話題です. 結論から言うと,TypeLiteral<T> を使うと所望の動作を実現できます. public class Foo<T> { private Class<T> clazz; @Inject @SuppressWarnings("unchecked") public Foo(TypeLiteral
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ヤフーで Android アプリの開発などをしている菅井です。 Yahoo! JAPANのアドベントカレンダー12月8日のAdvent Calendarを担当させていただきます。 弊社ではプログラミング言語ごとや、OS,プラットフォームごとに社内勉強会が盛んに行われており 業務に携わる中で気になったことや、ハマったこと、単に趣味嗜好が似ているもの同士が集まって部署を超えて情報を共有するような文化があります。 それらのイベントは勉強会やライトニングトーク会などの形で行われており、自分も何度か発表しているのですが 社内・社外を問わず多くの人達の発表から新たな見識を広げたり刺激を受けることが多く業務中なのにネタに使えるな?な
KotlinでJSR 269のライブラリを使う場合以下の様にkaptを使って設定するわけですが不安定な動きをする場合があります。 kapt { generateStubs = true } dependencies { compile 'com.github.sys1yagi.fragment-creator:library:0.6.0' kapt 'com.github.sys1yagi.fragment-creator:processor:0.6.0' } 次のようなエラーが出たり、ファイルが生成されたりされなかったり。 :app:compileDebugKotlin UP-TO-DATE :app:compileDebugJavaWithJavac FAILED FAILURE: Build failed with an exception. * What went wrong: E
Android Javaでは昔からAOSPのcoding style guidelineに則ったスタイルがとられることが多いようです。そのなかで、private fieldに "m" (member) や "s" (static member) などのプレフィクスをつけよ、というものがあります。 AOSP Java Code Style for Contributors | Android Open Source Project これはいわゆるハンガリアン記法の変種で、こういうやつですね。 class Recipe { private String mTitle; private List<String> mSteps; // ... } これについての態度はプロジェクトごとに様々ですが、たとえばクックパッド社のJavaのスタイルガイドでは明確に否定しています。 styleguide/
The latest news from Google on open source releases, major projects, events, and outreach programs for early career developers. We are pleased to announce the 1.0 release of J2ObjC, a Google-authored open-source compiler that lets iPhone/iPad applications use Java code. J2ObjC's goal is to support the sharing of an application's non-UI code (such as data access, or application logic) by writing it
a_summary.txt 0� �� @�� �� Each respective use has a .class method cost of Java 6 anonymous class: 2 Java 8 lambda: 1 Java 8 lambda with Retrolambda: 6 Java 8 method reference: 0 Java 8 method reference with Retrolambda: 5 Kotlin with Java Runnable expression: 3 (subtract one for non-capturing) Kotlin with native function expression: 4 (subtract one for non-capturing) All of them also require an a
あるいは、利用者にバージョンアップをためらわせる変更の手引き。 前置き うっかり互換性を損なってしまう変更について書いてみます。 知ってたらやらかさないし、なんてことのない事なのだけれど、 知らなかったら何が駄目なのかわかりづらいし、 原因を突き止めるのとかも難しいのかもしれない。と思ったので。 互換性の話なので、ライブラリやフレームワークなどの提供側としての変更になります。 動かない、けど再コンパイルすれば動く こんなコードがあって、 interface Hoge<T extends java.io.Serializable> { T method(); } これを使っている、こんなコードがある。 class Hogera { public static void main(String... args) { Hoge hoge = new Hoge<String>() { @Overr
三行まとめ ANTLR4で生成したパーサはAndroidからも利用可能 ANTRL4によるパーサはJavaCCによるパーサと比べてずっと遅く、実機では10ms単位で時間を使うので注意 ANTLR4を組み込むにあたってのビルドスクリプトはAndroid-Orma/migration/build.gradleを参照のこと 詳細 Orma の自動マイグレーションモジュール(orma-migration)ではSQLite DDLから ALTER TABLE などの差分を生成してます。 この orma-migration ではDDLの構文解析にJavaCCベースのJSqlParserを使っていたのですが、SQLiteの拡張構文(たとえばカラム定義における UNIQUE ON CONFLICT REPLACE など)に対応していないため、すでに拡張構文を多用しているアプリケーションでOrmaを導入でき
RxJava Advent Calendar 2015 の23日分です。 はい、さっそくですがRxInTheBoxにSchedulerを実装しました。 observeOn() と subscribeOn() が本家RxJava同様の振る舞いをします。 add subscribeOn() and observeOn() to RxInTheBox by gfx · Pull Request #2 · gfx/RxInTheBox · GitHub これは何 半年ほど前に社内勉強会のネタとしてRxJavaのミニマムな実装をしてみました。それがRxInTheBoxで、主な実装が約20行です。 RxJava的なものを最小限に実装してコンポーネントの関係を理解する - Qiita そして時は流れ、subscribeOn()とobserveOn()の挙動にハマったりしながらなんとかRxJavaをそれな
今回のテーマはジェネリクスとリフレクション。Javaのジェネリクスはイレイジャ方式なのでリフレクションでは何も得られないと思ってはいまいか。 public void hoge(List<String> list) {} といったメソッドがあったとして、リフレクションでこのメソッドの情報を得るとしよう。 import java.lang.reflect.*; import java.util.List; public class ReflectionTest { public static void main(String[] args) throws Exception { Method m = ReflectionTest.class.getMethod("hoge", List.class); Type[] types = m.getGenericParameterTypes(); f
Java is one of the most popular programming languages around, but no one seems to enjoy using it. Well, Java is actually an alright programming language, and since Java 8 came out recently, I decided to compile a list of libraries, practices, and tools to make using Java better. "Better" is subjective, so I would recommend taking the parts that speak to you and use them, rather than trying to use
OpenJDKにはウェブサイトの左にプロジェクト一覧が表示されているのですが,最近名前だけを見ても何のプロジェクトか分からないプロジェクト*1が増えてきていて,一覧と概要が記したのをまとめたいなーと思ったので. 自分用のまとめなので説明はかなり雑です*2. 詳しい説明は各プロジェクトのページを確認ください. また,各プロジェクト名からは各プロジェクトのページに飛べるので,興味がある分野のプロジェクトがあれば,ぜひ参加してみてください! ProjectName 概要 対象となるバージョン スポンサー 元ネタ,意味 備考 Caciocavallo 新たなプラットフォームにAWTをポートしやすいように,OpenJDKのAWTと2Dサブシステムの内部インターフェースを改善する Porters 羊と牛の乳から作られたチーズの名前から Graal VMの機能をJavaAPIを通して使えるようにする.J
ここ数日JavaのJSONライブラリJacksonのData Bindingを簡単に触ってきました。 JacksonのJSON Data Bindingサンプルを書いてみた with Lombok JacksonのJSON Data Bindingで実際のWeb APIからデータ取得してみた 実は初JSONっていうすごい時代遅れな自分ですが…(-_-; で、せっかくJSONを少し触ったので、Java EE 7で新たに加わったJava API for JSON Processing(JSR 353)も触れてみようと思ってやってみました。 なんか「Java EE 7で追加!」とよく言われるので、Java SEだと書けないの…?とかJava素人な自分は変に勘違いしてたのですが、普通に書けるんですね(^^;なんというか、この辺りが未だ慣れていない…。 主な情報サイトは Java Community
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く