Skip to content

Instantly share code, notes, and snippets.

@eltabo
Last active July 24, 2017 23:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eltabo/8953176 to your computer and use it in GitHub Desktop.
Save eltabo/8953176 to your computer and use it in GitHub Desktop.
TheEvilMapLikeMonsterThatMakeYouHateMe
package snippet;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class TheEvilMapLikeMonsterThatMakeYouHateMe<K>{
private HashMap<K, Object> innerMap = new HashMap<K, Object>();
public boolean equals(Object o) {
return innerMap.equals(o);
}
public int size() {
return innerMap.size();
}
public boolean isEmpty() {
return innerMap.isEmpty();
}
public int hashCode() {
return innerMap.hashCode();
}
public boolean containsKey(K key) {
return innerMap.containsKey(key);
}
public String toString() {
return innerMap.toString();
}
public <Y extends Object>Object put(K key, Y value) {
return innerMap.put(key, value);
}
public void putAll(Map<? extends K, ? extends Object> m) {
innerMap.putAll(m);
}
@SuppressWarnings("unchecked")
public <Y extends Object>Y remove(Y key) {
return (Y)innerMap.remove(key);
}
public void clear() {
innerMap.clear();
}
public <Y extends Object> boolean containsValue(Y value) {
return innerMap.containsValue(value);
}
public Object clone() {
return innerMap.clone();
}
public Set<K> keySet() {
return innerMap.keySet();
}
public Collection<Object> values() {
return innerMap.values();
}
public Set<java.util.Map.Entry<K, Object>> entrySet() {
return innerMap.entrySet();
}
@SuppressWarnings("unchecked")
public <Y extends Object>Y get(Object s){
return (Y)innerMap.get(s);
}
public static void main(String[] args) {
TheEvilMapLikeMonsterThatMakeYouHateMe<String> evil = new TheEvilMapLikeMonsterThatMakeYouHateMe<String>();
evil.put("a", 1);
evil.put("b", 2f);
evil.put("c", "b");
int a = evil.get("a");
float b = evil.get("b");
String c = evil.get("c");
}
}
@rafaelmembrives
Copy link

Fix class reference in main method.

P.S. 100% evil

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment