【Java书写】@SuppressWarnings(“unchecked”) 以及强制转换和泛型的疑问

  • Post author:
  • Post category:java


项目中有如下代码:

<pre name="code" class="java"><span style="white-space:pre">	</span>private GeneratedMessage msg;




@SuppressWarnings(“unchecked”)


	public <T> T getMsg() {
		return (T) msg;
	}

问题①@SuppressWarnings(“unchecked”)应该出现的场合,

SuppressWarnings是告诉编译器对批注的代码元素的内部的某些警告保持静默。

unchecked是用于执行了未检查的转换时的警告,例如当使用集合时没有使用泛型来制定集合的类型

虽然看起来@SuppressWarnings屏蔽了潜在的错误,但实际上它将提高代码安全性,因为他会提醒你,防止你对警告无动于衷。

问题②

public <T> T getMsg() {
		return (T) msg;
	}

这个写法在外部调用的时候就不用写强转了,这样处理是好是坏?



版权声明:本文为kkgbn原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。