dcsimg
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


advertisement
 

Tip: How to Avoid Cloning in Java

See how to avoid the security issues that arise from having all properties being passed on to a cloned class.


advertisement

WEBINAR:

On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning


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.

*/

 

Visit the DevX Tip Bank

 





   
Sridhar M S. is a Java developer from Bangalore, India. He holds a master's degree in Computer Science.
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date