을 작동하지만 실제로는 org.json4s.JsonAST $ JValue 반환, 그것은 이상하다! $이있는 이유는 무엇입니까? 나는 새로운 사람이 스칼라를 사용하고 누군가가 나를 대답 할 수 있었 을까? 고마워요json4s JValue 스칼라 classTag이 <strong>org.json4s.JsonAST.JValue</strong>, 을 얻으려면 내가 <code>classTag[JValue]</code>을 사용, 내 코드에서 잘못된
0
A
답변
0
클래스/메소드/등을 나타내는 데 사용하는 이름입니다. 귀하의 코드와 그것이 컴파일러에 의해 생성 된 바이트 코드에서 가지고있는 이름은 같을 필요는 없습니다. 스칼라 컴파일러는 Java 컴파일러보다 이름을 잘게 써야하지만이 경우는 둘 다 동일합니다.
내부 클래스가 JVM에 실제로 존재하지 않기 때문에 외부 인스턴스를 포함하는 추가 필드가있는 일반 클래스입니다. 클래스의 JVM 이름은 <outer_class>$<inner_class>
입니다. (그것은 프로그래머뿐만 아니라 사용에 대한 법적 문자가 비록)의 이름에서
, $
는 일반적으로 어떤 방법으로 엉망입니다 나타냅니다.
답변 해 주셔서 감사합니다. 내가 아마 원인을 얻을 것 같아요,하지만이 상황에서 원하는 것은 ** $ **가 아닌 정상적인 classTag를 얻는 것입니다. 수정하거나 피할 수있는 방법이 있습니까? 다시 한 번 감사드립니다 –
이것은 일반적인 'ClassTag'(또는'toString'으로 인쇄 된 방식)입니다. 원하는 형태로 _name_ 클래스를 원한다면,이 경우에는'replace ("$", ".")'가 작동 할 것이다. 모든 이름 맹 글링을 다루는 것이 더 어려울 것입니다. –
감사합니다, 당신이'replace ("$", ".")'를 사용한다고 말한 것과 똑같은 일을했습니다. 그러나 어쨌든 당신에게 감사드립니다. –