DESKTOP-94E2ELT_20200909-刘雪丽
一、问题
今天在练习代码的时候没有注意到自己的错误,导致最后一个对象不输出,是因为我在Tostring语句里边循环输出时,将循环里的I的范围给小了,这是粗心的结果,在测试时碰巧发现null值在比较的时候出现的问题:
public V put(K key,V value) {
for(int i=0;i<number;i++) {
MapEntry < K,V > m = array [i];
System.out.println( m.getKey() );
K k ;
if( ( k = m.getKey() ) == key || ( k != null && k.equals(key) ) ) {
V old=m.setValue(value);
return old;
}
}
MapEntry<K,V> entry=new MapEntry<>(key,value);
array [number] = entry ;
number++;
return null;
}
public V get(K key) {
for(int i=0;i<number;i++) {
MapEntry<K,V> m=array[i];
K k ;
if( ( k = m.getKey() ) == key || ( k != null && k.equals(key) ) ) {
return m.getValue();
}
}
return null;
}
public V remove(K key) {
for(int i=0;i<number;i++) {
MapEntry<K,V> m=array[i];
K k ;
if( ( k = m.getKey() ) == key || ( k != null && k.equals(key) ) ) {
System.arraycopy(array, i+1, array, i, number-i);
number--;
return m.getValue();
}
}return null;
}
public String toString() {
StringBuffer buffer=new StringBuffer();
buffer.append("【");
for(int i=0;i<number;i++) {
buffer.append(array[i].getKey());
buffer.append("=");
buffer.append(array[i].getValue());
if (i<number-1) {
buffer.append(",");
}
}
buffer.append("】");
return buffer.toString();
}
这是部分代码,问题已解决。
二、吐槽
感冒一直不好,虽然各种吃药,但好像作用都不是很大,上下课都多多少少的有些影响。希望感冒快些好。
近期评论