2014-01-16 2 views
0

가끔 null 값이 필요합니다. 예 :값이없는 경우 값을 null로 만듭니다.

Switch(animal.getId(){ 
    case animal.equals("dog"){ 
     String size=small; 
     String fur=fluffy; 
     placement(size,fur); 
     break; 
    } 
    case animal.equals("lizard"){ 
     String size=small; 
     placement(size); 
     break; 
    } 

public void placement(String size, String fur){ 
    System.println("Size: "+size); 
    System.println("Fur: +fur); 
} 

동물이 강아지와 같으면 잘 작동합니다. 그러나 동물들이 도마뱀과 같으면 모피가 Null로 나타나야합니다. 나는 데이터가 필요하지 않을 때 null 값을 가지려고 시도하고있다. 내가 그럴 수 없다면 나는 모든 데이터를 넣었을 것이고 기본값은 String fur="none"으로 저장되고 호출 될 때마다 placement(size,fur)이 저장 될 것입니다.

+2

질문은 무엇입니까 귀하의 경우에는, 두 개의 placement 방법을 가질 수있다? – codeMagic

+1

이것은 Java가되어야합니까? 왜냐하면 그렇지 않기 때문입니다. 그리고 게시 된 코드는 SQL과 어떤 관련이 있습니까? –

+0

질문 : 모피 문자열이 없거나 null 또는 무언가로 반환되기를 원한다면 필요한 문자열보다 더 많은 문자열을 만들 필요가 없습니다. String fur를 null로 지정하는 'Placement (size, null)'을 사용하여 해결되었습니다. 또한 Ted Hopp의 답변에 감사드립니다. 필요하지 않았고 질문의 일부를 삭제했습니다. SQL으로 작업하고 테이블을 만들고 있습니다. – user3179107

답변

1

Java에서 선택적 인수를 사용하는 일반적인 방법은 메서드 이름을 오버로드하는 것입니다.

public void placement(String size){ 
    placement(size, null); 
} 
public void placement(String size, String fur){ 
    System.println("Size: "+size); 
    System.println("Fur: +fur); 
} 
+0

고마워요! 나는 단지 null이라고 말할 수 있다는 것을 몰랐다. 저는 각 논쟁에 필요한 문자열보다 더 많은 것을 만들어야 할 것이라고 걱정했습니다! 그와 나는이 부르심의 이름을 찾을 수 없었다. – user3179107

0

어쩌면이 이미 있습니다 :

Switch(animal.getId(){ 
    case animal.equals("dog"){ 
    String size=small; 
    String fur=fluffy; 
    placement(size,fur); 
    break; 
    } 
    case animal.equals("lizard"){ 
    String size=small; 
    placement(size, null); 
    break; 
    } 
} 

public void placement(String size, String fur){ 
    if (size != null) 
    System.println("Size: "+size); 

    if (fur != null) 
    System.println("Fur: +fur); 
} 
+0

감사합니다! 나는 단지 null이라고 말할 수 있다는 것을 몰랐다. 저는 각 논쟁에 필요한 문자열보다 더 많은 것을 만들어야 할 것이라고 걱정했습니다! 그와 나는이 부르심의 이름을 찾을 수 없었다. – user3179107

관련 문제