c - What is a clean way to modify arguments inside a function in java? -


i interested in doing c code in java:

// sets n's ith bit right, starts 0 void setbit(int* n, int i){    *n = *n | (1 << i); } 

however, looks java can't pass addresses, clean approaches?

i thought of 2 approaches, wondering if there better ways it?

approach 1: using array

 // sets n[0]'s ith bit right, starts 0 public void setbit(int[] n, int i){    n[0] = n[0] | (1 << i); } 

approach 2: using class

private class data{    int value; }  // sets d.value's ith bit right, starts 0 public void setbit(data d, int i){    d.value = d.value | (1 << i); } 

nope, no better way it...

unless you'd traditional java way, is

d = setbit(d, i);  public int setbit(int d, int i) {   return d | (1 << i); } 

this in java "modifying arguments function" inherently unclean. clean way find alternative modifying arguments.

(sometimes it'll inevitable, in case workarounds way go. said, if want write method modify(mydata), it's better add modify() method mydata's class.)


Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c# - Copy ObservableCollection to another ObservableCollection -

All overlapping substrings matching a java regex -