Описание тега erasure

When implementing generics in a programming language often the binary does not contain any of the type information from the generics. This is referred to as "erasure"
1 ответ

Scala Erasure в сопоставлении с образцом

Я должен извлечь информацию из ответа JSON и оценить, присутствует ли какой-либо файл или нет. Я использую следующее определение метода: override def hasField(field: Field): Boolean = { val schema = parse(httpClient.doGet(url + Solr5EndpointUris.sch…
25 окт '15 в 13:03
1 ответ

Существует ли концепция стирания типа в языке Си?

Интересно, используются ли методы стирания типов где-либо на языке Си? Что происходит в C, когда происходит приведение типов? Используются ли в нем концепции, аналогичные стиранию типов и приведению вниз? Каковы основные различия между стиранием тип…
22 ноя '16 в 19:47
1 ответ

Почему переопределяющие методы не могут указать параметр типа, если переопределенный метод этого не делает?

Следующий код не компилируется, однако, если я изменяю f(object) на f(String) или f (Integer), он компилируется. Я читал другие посты на эту тему, но до сих пор не понимаю, почему компилятор не знает, какой метод использовать (в случае нового экземп…
12 фев '17 в 14:24
0 ответов

Scala: экзистенциальный тип и стирание типа

Я не очень знаком со скалами, поэтому надеюсь, что мой вопрос имеет смысл: У меня есть сложный параметризованный класс, но давайте возобновим его: class Foo[T] { def foo(x: T) = {/*do something*/} } Теперь в другой части программы я хотел бы построи…
19 май '16 в 15:39
1 ответ

Два метода с одним и тем же стиранием не являются необходимыми для переопределения-эквивалента (или они подписи не являются подписями между ними)?

Я читаю невероятную книгу "Руководство программиста по java scjp-сертификации" для jdk6, и есть раздел об универсальном переопределении. На нем описана подпись и эквивалентный переопределению и описаны некоторые примеры эквивалентного переопределени…
04 июл '15 в 21:14
0 ответов

Как использовать библиотеку Рономона Рида-Соломона, чтобы разбить файл на части и воссоздать их в NodeJS

Мне удалось выполнить ту же задачу с помощью Java, но мне не ясно, как выполнить ту же задачу в NodeJS? есть модуль под названием "npm install @ronomon/reed-solomon", но нет четких инструкций по его использованию
03 фев '19 в 15:12
2 ответа

Можно привести к неправильным типам без исключения в Scala

Я написал код на днях, чтобы отфильтровать поведение смешивания из списка. Это пример кода, который должен описать проблему, с которой я столкнулся. def myFilter[A](toFilter : Any) : Option[A] = toFilter match { case keep : A => Some(keep) case _…
04 апр '16 в 15:07
1 ответ

Обход Scala для методов с тем же типом после стирания

Я понял, как использовать TypeTag добавить пустой список параметров в существующий метод и обойти ошибку стирания. Я хотел бы понять, как работает мой хак и есть ли лучший способ достичь желаемого результата. У меня есть следующее happyStuff метод: …
26 фев '18 в 19:59
3 ответа

Удаление предупреждения "устранено стиранием" в Scala

У меня есть простая функция Scala, которая генерирует файл Json из Map[String, Any], def mapToString(map:Map[String, Any]) : String = { def interpret(value:Any) = { value match { case value if (value.isInstanceOf[String]) => "\"" + value.asInstan…
06 апр '16 в 03:36
3 ответа

Убедитесь, что разные типы дженериков

Я пытаюсь создать общий интерфейс конвертера, который будет конвертировать T возражает против U объекты с использованием того же имени метода, т.е. convert: public interface GenericConverter<T, U> { T convert(U fromObject); U convert(T fromObj…
10 янв '17 в 13:20
2 ответа

Обобщения Java - концепция стирания

У меня есть некоторый код следующим образом: public class java_generic { public static void main(String[] args) { T t = new X(); t.<Object>m(new Object()); t.<String>m(new String()); } static class T { <E> void m (E e){ System.out.…
08 дек '15 в 17:31
2 ответа

Как сотворить общий тип из Erasure

У меня есть родительский класс, Parent, с двумя дочерними классами, A а также B, У меня есть интерфейс, Function<Type1 extends Parent,Type2 extends Parent>, что позволяет программисту написать конкретную функцию, Type2 of(Type1 t), который пер…
06 окт '18 в 04:06
2 ответа

Использование обобщенных scala и манифеста для приведения в классе

У меня есть два класса, Holders (из-за отсутствия лучшего названия на данный момент) и Holder. Holder должен быть связан через Holders, который имеет массив Holder любого типа. Как таковой, он должен принимать любой тип. Я хочу, чтобы setValue делал…
05 фев '14 в 20:39
1 ответ

Как использовать унаследованные методы, используя стирание типа?

Я пытаюсь использовать стирание типа для доступа к унаследованным методам общего типа. У меня есть родительский класс, класс Space и дочерние классы Scalar, Vector, Mapping и т. Д. Мне нужен интерфейс Function, для которого я могу указать домен и ди…
04 окт '18 в 02:30
3 ответа

Как общее стирание Java влияет на использование newInstance()?

Основываясь на документации Java: Во время процесса стирания типа компилятор Java стирает все параметры типа и заменяет каждый его первой границей, если параметр типа ограничен, или Object, если параметр типа не ограничен. Дело в том, что с таким кл…
24 июн '16 в 12:59
2 ответа

Scala собирать тип рисунка и тип стирания

Позволять val a = List ("a", 1, 2.34, "b", List(6,7)) a: List[Any] = List(a, 1, 2.34, b, List(6, 7)) так что a.collect { case s: String => s } res: List[String] = List(a, b) тем не мение a.collect { case s: List[Int] => s } предупреждает, что …
08 апр '14 в 04:37
3 ответа

Параметр типа класса стирания Scala

У меня есть следующие настройки: class Test[A](function: A => String) { def process(data: Any) { //has to be Any since it is user IO if (data of Type A) function(data) } } Я не могу заставить работать проверку типов. Я попытался добавить неявный …
07 ноя '14 в 22:34
1 ответ

Java - Коллекция абстрактного класса, дети содержат разрозненные объекты - Есть ли "хороший" способ обработки этих обернутых объектов?

Допустим, у нас есть что-то вроде этого: public abstract class MyClass { //Stuff in here } public class MyClassA extends MyClass { private String thingie; //Along with getter/setters, of course //Other stuff } public class MyClassB extends MyClass {…
26 авг '13 в 21:56
2 ответа

Пример стирания типа и моего понимания

private void readList(ArrayList list){ list.add("Hello"); list.add(2); } public void run(){ setFont("Courier-24"); ArrayList<Integer> list = new ArrayList<Integer>(); readList(list); println("list = "+list); println("Type of list[1] = "+…
28 май '15 в 00:39
3 ответа

Как бы я реализовать расширенную функцию на Function1 или PartialFunction

Я хотел бы определить расширенную функцию на Function1 или PartialFunction. Я хочу сделать это, потому что у меня есть сценарий использования, подобный следующему: class A class B extends A def foo(fun: Function[B, A]) = { bar(fun.widen[A]) } def ba…
07 ноя '13 в 04:07