- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试创建一个可增长的数组,即容量可以像数组列表一样增加的数组。我在下面的代码中收到警告。我应该修复它还是抑制它?压制它会产生什么后果?
import java.util.*;
public class GrowableArray<T>{
private T[] array;
//more variables
GrowableArray{
this.array = (T[]) new Object[10]; // Warning - Type safety: Unchecked cast
//from Object[] to T[]
//more code
}
//more code
完整代码请看下面 -
import java.util.*;
public class GrowableArray<T>{
private T[] array;
private int increaseSizeBy;
private int currentIndex;//That is first free position available
private int lastIndex;
public GrowableArray(){
this.array = (T[]) new Object[10];
this.currentIndex = 0;
this.lastIndex = 10-1;
this.increaseSizeBy = 10;
}
public GrowableArray(int initialSize){
this.array = (T[]) new Object[initialSize];
currentIndex = 0;
lastIndex = initialSize - 1;
}
public void increaseSizeBy(int size){
this.increaseSizeBy = size;
}
public void add(T anObject){
if(currentIndex > lastIndex){ ;
//create a bigger array
int oldLength = array.length;
int newLength = oldLength + this.increaseSizeBy;
Object [] biggerArray = Arrays.copyOf(array, newLength);
array = (T[]) biggerArray;
currentIndex = oldLength;
lastIndex = array.length-1;
}else{
array[currentIndex] = anObject;
currentIndex++;
}
}
public void display(){
System.out.println();
for(int i = 0; i < this.currentIndex; i++){
System.out.print(array[i] + ", ");
}
System.out.println();
}
public static void main(String[]args){
GrowableArray<Integer> gArr = new GrowableArray<Integer>();
for(int i = 0; i <= 35; i++){
gArr.add(i);
}
gArr.display();
gArr.add(300);
gArr.add(301);
gArr.add(302);
gArr.add(303);
gArr.add(304);
gArr.add(305);
gArr.display();
}
}
最佳答案
在 Java 7 中,您可以使用可变参数。完全没有抑制:
public class GrowableArray<T> {
// Default empty to size 10.
private static final int DefaultLength = 10;
// My current array.
private T[] array;
// Empty constructor.
GrowableArray () {
// Passing no 2nd param at all forces jvm to manufacture an empty one for me - which is an array<T>.
array = makeNew(DefaultLength);
}
// Make a new one of the right size.
private T[] makeNew(int length, T... sample) {
return Arrays.copyOf(sample, length);
}
}
关于java - 我应该使用@SuppressWarnings - 类型安全: Unchecked cast from Object[] to T[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15994290/
我有以下(部分)类(class): public class Graph { private ArrayList edges; public ArrayList getEdges()
我在这里遇到泛型问题。谁能指出我在以下陈述中遗漏了什么? 1. warning: [unchecked] unchecked conversion List qList = (List) sessio
我收到以下警告: warning:[unchecked] unchecked conversion [javac]found:java.util.List [javac] required:java.
我遇到了未经检查的 Actor 警告。我不确定如何解决这些警告。 编译器错误似乎出现在 list = (E[]) new IntKeyed [size]; 这是我们应该逐个字母使用的代码。 我们正在尝
为什么我的代码仍然有警告:警告:[unchecked] uncheckedcast?当我使用“-Xlint”时,返回如下: demo1.java:31: warning: [unchecked] un
我在库中收到“警告:[未检查] 未经检查的转换”消息,我正在将其源代码与我的代码一起编译。由于我不想修改库源代码,有没有办法在 Ant 的 javac 任务中禁用该特定警告? 最佳答案 uncheck
当我编译代码时,我收到 4 个警告 - 但如何让它们消失?(我的意思不是@SuppressWarnings) PS:显然这一定是以前被问过的 - 但要么我找不到它,要么我无法应用它。 输出 warni
我有这个 Java 代码,它可以启动 java 线程: public void start(Stage primaryStage) { // TODO when Java 8
我知道它有点重复,我正在尝试以不同的方式做到这一点,从而重新发布这个问题。 我想要实现的是,当有人“取消选中”OSPF 复选框时..被动接口(interface)检查也应该自动“取消选中”。我正在尝试
我正在创建我自己的集合类。但一开始,我就受到警告。我在此链接中使用How to create a generic array? 。但我已经收到警告了。 这是我的警告消息: MySet.java:11:
与我的代码类似的示例代码。 public interface Builder { B build(A a); } public class ClientBuilder implements Bui
所以当祖 parent 或 parent 被选中/未选中时,我试图选中/取消选中复选框: new Vue({ el: '.app', data: { grand_parent: fal
我一直在努力让这段代码适用于现阶段的年龄。它旨在计算一个范围内的素数,我已经编写了一种方法来打印它们。不幸的是,代码将无法编译,引用警告: “警告:[未检查] 未检查调用 add(E) 作为原始类型
奇怪的情况 - 下面是代码: ArrayList listArr = new ArrayList<>(); Object[] obj = new Object[]{"str", listArr}; S
我正在开发一个基于文本的角色扮演游戏。在其中一个类中有一个 ArrayList 来处理保存和加载游戏。 ArrayList 中有整数和字符串。 这是一个字符串:saveGame.add(p.getNa
我正在收到警告 warning: [unchecked] unchecked call to add(E) as a member of the raw type java.util.List
我有两个警告:-- 第一个是: HELPDESKGESTION2\src\java\glpi\filter\LoginFilter.java:289: warning: [unchecked] unc
我有七个复选框,如下所示。我正在尝试做以下三件事: 1)当“任何”复选框被“选中”时,剩余的“1-6”应该被“取消选中”。2)当'1到6'复选框中的任何一个被'选中'时,'任何'复选框应该'未选中'。
我使用 java 泛型实现了一个简单的支付处理系统。它在运行时编译并工作,但我对“未经检查的转换”警告感到困惑。 enum PaymentType { CARD, SAVED_CARD } i
好的,所以我正在创建一个侧栏小部件 :S 并使用复选框功能对其进行控制。显示的 Tab Div 处于绝对状态以覆盖下面的信息。我希望能够取消选中该框并再次隐藏 Div。谁能帮忙? 这是 CSS:
我是一名优秀的程序员,十分优秀!