Описание тега type-safety

Type safety is the extent to which a language discourages using variables in an unsafe manner, according to the variables' type.
8 ответов

Проверка общего типа

Есть ли способ принудительного применения / ограничения типов, передаваемых примитивам? (bool, int, string и т. д.) Теперь я знаю, что вы можете ограничить универсальный параметр типа реализацией типа или интерфейса с помощью предложения where. Тем …
12 авг '08 в 15:07
2 ответа

Небезопасное понижение класса Object до Comparable вызывает проблемы

Я реализую набор структур данных и решил попробовать реализацию maxheap через массив, так как это одна из распространенных реализаций для maxheaps. Для этого у меня есть интерфейс под названием MaxHeap<T> который принимает Comparable типы T и …
0 ответов

Статически типизированный многозначный результат из метода multi-args

Я пытаюсь сделать следующее в C#. Тем не менее, для краткости я использую функциональный псевдокод в стиле Haskell. Представьте себе функцию exec это принимает любое количество аргументов. Каждый аргумент является делегатом, который не принимает арг…
06 июн '13 в 08:48
2 ответа

Как сделать так, чтобы аргумент строки проверки компилятором действовал в Typescript?

В TypeScript, как можно заставить компилятор определять, является ли строка допустимым аргументом для метода / функции? Прямо сейчас я использую строковые литералы для достижения этой цели. Например, type ValidLetter = "A" | "B" | "C" | "D"; // stri…
2 ответа

Java и безопасность типов

В руководстве по MDN JavaScript говорится следующее при сравнении Java и JavaScript: Безопасность типов означает, например, что вы не можете преобразовать целое число Java в ссылку на объект или получить доступ к частной памяти, повредив байт-коды J…
28 сен '11 в 11:29
1 ответ

Переменная scala число универсальных типов в классе

Я работаю со scala и scalaStorm для проекта, в настоящее время я использую библиотеку velvia scalastorm от github ( https://github.com/velvia/ScalaStorm), и я пытаюсь ее обогатить. Я хочу добавить безопасность типов для штормовых кортежей, которые п…
21 дек '14 в 00:10
1 ответ

Код может работать в затмении, но не в javac

Для кода import java.util.*; interface Sample{ } public class TypeTest implements Sample{ public static void main(String[] args) { Set<Object> objs = new HashSet<>(); objs.add(new TypeTest()); List<? extends Sample> objList = (List…
16 май '16 в 13:15
1 ответ

Параметризованные ключи типа для карты

Я изучаю Java и в настоящее время читаю "Эффективную Java" Джошуа Блоха. В пункте 29 он обсуждает параметризованные ключи типов для Map, чтобы создать гетерогенную карту с безопасным типом. Вот код: class Favorites { private Map<Class<?>, O…
12 мар '16 в 17:32
3 ответа

Обобщения в VB.NET

Теперь, как программист на C#, я знаю, что дженерики потрясающие. Тем не менее, изучая некоторые VB.NET, я обнаружил, что следующее не вызывает ошибку компилятора: Dim instance As List(Of Integer) instance.Add(True) Почему это? Я знаю, что вы не обя…
2 ответа

Небезопасное преобразование

Безопасно ли следующее преобразование? int b[10][10]; char *x; int a[]={0,1,2,3,4,5,6,7,8,9}; for(int i=0;i<10;i++) for(int j=0;j<10;j++) b[i][j]=a[i]; for(x=(char *)&b[0];x<=(char *)&b[9][9];x+=sizeof(a+1)) // Problem lies here! pr…
06 фев '10 в 02:40
3 ответа

Есть ли "безопасная" альтернатива static_cast?

Есть ли "безопасная" альтернатива static_cast в C++11/14 или библиотека, которая реализует эту функциональность? Под "безопасным" я подразумеваю, что приведение должно разрешать только приведение, которое не теряет точности. Так что актерский состав…
17 окт '18 в 14:54
3 ответа

Java Generics Type Safety предупреждение с рекурсивным Hashmap

Я использую рекурсивное дерево хеш-карт, в частности карту Hashmap, где Object является ссылкой на другой Hashmap и так далее. Это будет передано вокруг рекурсивного алгоритма: foo(String filename, Hashmap<String, Object> map) { //some stuff h…
2 ответа

Функция, которая принимает один явный тип

Как я могу сделать функцию, которая принимает, например, size_t, но НЕ принимает int или любой другой неявно конвертируемый тип?
01 сен '17 в 20:16
1 ответ

Проверка типов во время компиляции Java для полиморфных коллекций

Я пытаюсь написать коллекцию, которая на 100% безопасна. У меня все работает нормально, единственная проблема, с которой я борюсь - это. AttributeMap map = new AttributeMap(); map.put("special", 100); map.put("running", false); int special = map.get…
10 июл '16 в 07:00
1 ответ

@SafeVarargs в методе vararg с универсальным типом возврата

Мой query метод ниже облегчает запросы к моему постоянному слою, используя org.hibernate.Session, Вот код метода: public class Persister{ public static <E> List<E> query(Class<E> c, E... exampleEntities){ try(Session session = open…
15 ответов

Дискриминационный союз в C#

[Примечание: у этого вопроса было первоначальное название "объединение стилей C (ish) в C#", но, как сообщил мне комментарий Джеффа, очевидно, что эта структура называется "дискриминационным объединением"] Извините за многословность этого вопроса. В…
30 июн '10 в 17:18
2 ответа

JComboBox является необработанным типом. Ссылки на универсальный тип JComboBox<E> должны быть параметризованы

String[] boxOptions = {"1","2","4","8","16","20","40","100","400"}; JComboBox box = new JComboBox(boxOptions); Я имел эти точные строки кода в моей программе раньше, и не получал эту ошибку. Я немного искал, и результаты, которые я нашел, идут немно…
15 дек '13 в 15:13
1 ответ

Тип безопасности C#. Когда это слишком много?

Я рассчитываю спроектировать и создать новое крупномасштабное приложение с нуля и использовать безопасность типов со структурами, где это уместно. Приложение имеет большое количество вызовов между классами. В настоящее время я пытаюсь внедрить струк…
13 май '16 в 09:13
3 ответа

Компилятор Java игнорирует безопасность типов

public class POJO&lt;T&gt; { private List&lt;Integer&gt; integer = new ArrayList&lt;Integer&gt;(); public POJO() { integer.add(1); integer.add(2); } public List&lt;Integer&gt; getInteger() { return integer; } public static void main(String[] args) {…
31 авг '12 в 10:34
2 ответа

Как создать безопасность типов на PrivateObject в C#

Я обнаружил фантастический способ юнит-тестирования частных методов. Это здорово, за исключением того, что мне не нравится, как имя метода вводится в виде строки. Есть ли способ создать "сеть безопасности"? Я хочу ввести имя метода, чтобы компилятор…