Okay say I have a class:
public class ExampleClass() {
public void exampleClassMethod(ArrayList abcdefg> arrList) {
....
Any ArrayList:
public void example( ArrayList> arr ) { ...
Any type of CustomClass:
public void example( ArrayList< ? extends CustomClass> arr ) { ...
Edit: For the second half of your question, you can create a new object of any type with reflection:
public void tester( Object obj ) {
Object obj2 = obj.getClass().newInstance();
}
This requires that the class of Object has a zero-argument constructor. I don't know why you'd want to do this however. You might want to implement clone() instead, or you might want to think a little more about your real goal at the end of all this is. Usually adding a polymorphic method to CustomClass solves these "what class do I have" type questions.