×
We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.
How to Avoid Cloning in Java
 

Submitted by: M S Sridhar(sridhar.ms@gmail.com)

Tuesday May 1st 2018 by M S Sridhar

Language: Java, Expertise: Intermediate - See how to avoid the security issues that arise from having all properties being passed on to a cloned class.

Cloning is the easiest way of copying a class. With this, however, you also have all properties being passed on to the cloned class, which probably is a security hassle. You can avoid the same with a simple trick as shown below:

public class AvoidCloning
{
public static void main(String args[])
{
AvoidCloning avoidCloning = new AvoidCloning();
avoidCloning.proceed();
}

private void proceed()
{
NotClonable notClonable = new NotClonable();
try{
notClonable.clone();
}catch(Exception exception)
{
System.out.println(exception.getMessage());
}
}

}

class NotClonable
{
public Object clone() throws CloneNotSupportedException
{
throw new CloneNotSupportedException("Sorry, I'm not cloneable.");
}
}

/*

Expected output:

[root@mypc]# java AvoidCloning
Sorry, I'm not cloneable.

*/
Home
Mobile Site | Full Site
Copyright 2018 © QuinStreet Inc. All Rights Reserved