`

guice 的@Nullable

阅读更多
为了减少代码中的NullPointerExceptions,可以用@Nullable对参数进行约束:
其实并不是异常就不存在,只是把它放在统一的地方进行管理了。
示例代码如下:
 
 @Test
	public void testCheckNotNull() {
		getUser("",null);
	}
	
	public void getUser(String username,@Nullable String address){
		Preconditions.checkNotNull(username,"username");
	}


可能是官方文档还没完全更新过来的缘故,2.0并没有
com.google.common.base.Preconditions这个类,而是相应的
com.google.inject.internal.Preconditions类。

而checkNotNull的源代码为:
public static <T> T checkNotNull(T reference, Object errorMessage) {
    if (reference == null) {
      throw new NullPointerException(String.valueOf(errorMessage));
    }
    return reference;
  }

也就是把异常管理放在了统一的地方,这样可以提高代码质量。
分享到:
评论
1 楼 whg333 2011-03-09  
你说这个是guice框架支持的注解吧?
是不是guice框架会检查被注解的元素是否符合注解语义,不符合就报错?
@Nullable和@Nonnull等注解在jsr305里面也提到,这个是编译时检查(类似@Override)还是运行时检查呢?

相关推荐

    Guice中文文档

    Guice中文文档,介绍Guice的基本使用,适合初学者。

    guice.jar/guice.jar

    guice.jar guice.jar guice.jar guice.jar guice.jar guice.jar guice.jar

    Guice与Spring框架的区别.pdf

    Guice与Spring框架的区别 Guice与Spring框架都是依赖注入(Dependency Injection,DI)容器,它们的主要作用是将对象之间的依赖关系解耦,使得系统更加灵活、可维护和可扩展。下面我们来讨论Guice和Spring框架的...

    Google Guice: Agile Lightweight Dependency Injection Framework

    * What the future has in store, including Guice IDE, the next Guice version and the standardization of Guice's concepts through JSR 299. * How you can build real world, Guice-powered web ...

    guice-3.0-API文档-中英对照版.zip

    赠送jar包:guice-3.0.jar; 赠送原API文档:guice-3.0-javadoc.jar; 赠送源代码:guice-3.0-sources.jar; 赠送Maven依赖信息文件:guice-3.0.pom; 包含翻译后的API文档:guice-3.0-javadoc-API文档-中文(简体)-...

    guice-multibindings-3.0-API文档-中文版.zip

    赠送jar包:guice-multibindings-3.0.jar; 赠送原API文档:guice-multibindings-3.0-javadoc.jar; 赠送源代码:guice-multibindings-3.0-sources.jar; 赠送Maven依赖信息文件:guice-multibindings-3.0.pom; ...

    guice入门学习资料

    guice 学习资料,快速掌握guice的编程技巧以及了解其机制。

    guice-3.0-API文档-中文版.zip

    赠送jar包:guice-3.0.jar; 赠送原API文档:guice-3.0-javadoc.jar; 赠送源代码:guice-3.0-sources.jar; 赠送Maven依赖信息文件:guice-3.0.pom; 包含翻译后的API文档:guice-3.0-javadoc-API文档-中文(简体)版...

    guice-multibindings-3.0-API文档-中英对照版.zip

    赠送jar包:guice-multibindings-3.0.jar; 赠送原API文档:guice-multibindings-3.0-javadoc.jar; 赠送源代码:guice-multibindings-3.0-sources.jar; 赠送Maven依赖信息文件:guice-multibindings-3.0.pom; ...

    guice-4.0-API文档-中文版.zip

    赠送jar包:guice-4.0.jar; 赠送原API文档:guice-4.0-javadoc.jar; 赠送源代码:guice-4.0-sources.jar; 赠送Maven依赖信息文件:guice-4.0.pom; 包含翻译后的API文档:guice-4.0-javadoc-API文档-中文(简体)版...

    guice-assistedinject-3.0-API文档-中英对照版.zip

    赠送jar包:guice-assistedinject-3.0.jar; 赠送原API文档:guice-assistedinject-3.0-javadoc.jar; 赠送源代码:guice-assistedinject-3.0-sources.jar; 赠送Maven依赖信息文件:guice-assistedinject-3.0.pom;...

    google guice基础例子

    Guice是Google开发的一个轻量级,基于Java5(主要运用泛型与注释特性)的依赖注入框架(IOC)。Guice非常小而且快。Guice是类型安全的,它能够对构造函数,属性,方法(包含任意个参数的任意方法,而不仅仅是setter...

    Guice用户中文指南

    Guice用户中文指南,Guice (读作"juice")是超轻量级的,下一代的,为Java 5及后续版本设计的依赖注入容器

    Guice_1.0_Manual.pdf

    Guice开发手册, Guice中文开发手册

    guice-3.0.rar

    guice-3.0,轻量级IOC容器,包含guice-3.0.jar、guice-spring-3.0.jar、guice-struts2-plugin-3.0.jar

    guice-2.0.jar

    guice-2.0.jar guice-2.0.jar

    google guice 3.0源码

    google guice 3.0源码,官方下载,帮助你更好理解google guice实现的原理

    guice-4.0-API文档-中英对照版.zip

    赠送jar包:guice-4.0.jar; 赠送原API文档:guice-4.0-javadoc.jar; 赠送源代码:guice-4.0-sources.jar; 赠送Maven依赖信息文件:guice-4.0.pom; 包含翻译后的API文档:guice-4.0-javadoc-API文档-中文(简体)-...

    基于guice的简单项目

    基于guice的HelloWorld项目, 内含需要的2个jar包, 直接复制到项目里面就可以用了

Global site tag (gtag.js) - Google Analytics