C#、Java共に、ジェネリクスの共変性と反変性 (covariance and contravariance) を持つ。ただしC#における共変性・反変性のサポートはバージョン4.0以降である。C#では、型定義側で共変性outあるいは反変性inを指定し、利用側では変性の指定を行わない。なお、C#の値型は不変 (invariant) であり、共変性・反変性は適用されない。// C#// System.Func<T, TResult> と同様のデリゲートを定義。// 型定義側で変性の指定を行う。public delegate TOut MyFunc<in TIn, out TOut>(TIn arg);public class GenericsTest {    public static void Main() {        // 利用側では変性の指定を行わない。        MyFunc<object, string> func1 = x => "<" + x + ">";        MyFunc<string, object> func2 = func1;        object ret = func2("test");        System.Console.WriteLine(ret);        System.Console.WriteLine(ret.GetType()); // System.String    }}Javaでは、型定義側では変性の指定を行わず、利用側で共変性extendsあるいは反変性superを指定する。Javaではさらに、上限と下限のいずれも指定しないワイルドカード?による型引数の指定が可能である。以下にJava 8の例を示す。// Java// java.util.function.Function<T, R> と同様のインターフェイスを定義。// 型定義側では変性の指定を行わない。@FunctionalInterfaceinterface MyFunc<TIn, TOut> {    TOut apply(TIn arg);}public class GenericsTest {    public static void main(String[] args) {        // 利用側で変性の指定を行う。        MyFunc<? super Object, ? extends String> func1 = x -> "<" + x + ">";        MyFunc<? super String, ? extends Object> func2 = func1;        Object ret = func2.apply("test");        System.out.println(ret);        System.out.println(ret.getClass().getName()); // java.lang.String        // 変性の上下限いずれも指定しないこともできる。        java.util.List<?> list;    }}
C#、Java共に、ジェネリクスの型制約を持つ。C#では基底型指定以外に、class(参照型)、struct(値型)、new()(デフォルトコンストラクタ有)の各制約を指定できる。// C#class ConstraintClass { }class SomeGenericsClass<T> where T : ConstraintClass { }class OtherGenericsClass<T> where T : new() { }// Javaclass ConstraintClass { }class SomeGenericsClass<T extends ConstraintClass> { }
ケネディは大統領権限でできることとして、アフリカ系アメリカ人を積極的に連邦政府の幹部に任命した。その結果司法省では黒人の連邦検事は10人から70人に増え、また連邦判事もゼロから5人に増えた。また、企業や労働組合に対しても黒人を積極的に雇うよう働きかけた。連邦政府の補助金を受けている病院や図書館での差別は大統領府令によって禁止し、連邦雇用局に対しては白人だけを雇う企業の求人を拒否するよう命じた。しかしこれとは裏腹に、自らのメンバーに黒人が入閣することは一度もなかった。さらに、ケネディは黒人の選挙権に対する2つの南部の悪習「ポール・タックス」（投票するために支払う税金）と「リテラシー・テスト」（黒人を選挙から締め出すことを目的としたテスト）を撤廃させるよう努力し、ポール・タックスを廃止する法案を通過させ、この法案は合衆国憲法修正第24条となったが、リテラシー・テストを廃止する法案は上院を通過できなかった。連邦最高裁は、1954年に公立学校の中での人種の分別を違憲とする判決（ブラウン判決）を下していたが、南部の州には、依然としてこの決定に従わない学校が多くあった。1962年、ジェームズ・メレディスという黒人学生がミシシッピ州立大学に入学しようとして拒否される事件が起き、ケネディは軍隊を動員して人種差別主義者の暴動を鎮圧した（メレディス事件）。この事件後、黒人学生を認めなかったほかの南部諸州も黒人学生を受け入れはじめたが、アラバマ州知事のジョージ・ウォレスだけは違った。ケネディは司法省幹部によるバーミングハムの地域リーダーの説得を続け、大学側に黒人学生の入学を認めさせた。1963年6月11日、2人の黒人学生ジェームズ・フッドとヴィヴィアン・マローンが司法次官ニコラス・カッツェンバックに付き添われてアラバマ州立大学の門前に到着した。司法長官ロバート・ケネディはウォレスに対して電話で妨害しないよう説得したが、ウォレスはこれを拒否し、州兵で大学の周囲を固めて自ら大学の門に立ちはだかった。ケネディは州兵を連邦軍に編入・指揮下に置くとともに大学周辺を関係者以外立ち入り禁止にし、バーミングハム郊外に連邦軍を集結させた。カッツェンバックが大統領布告を読み上げ、州兵の司令官が連邦政府の任務遂行を妨害するなら逮捕すると宣告し、ウォレスはようやく引き下がった。これにより全米50州の中で黒人学生を締め出す州はなくなった。ケネディは、同日夕方、公民権運動を助けるためにより強い処置を講ずる時期がきたと決断し、議会へ新しい公民権法案を提案、テレビで大統領執務室から直接国民に訴えかけた。「エイブラハム・リンカーンが奴隷を解放して以来100年間の猶予が過ぎた。彼らの相続人、彼らの孫は完全に自由ではない」と述べた。この公民権法はケネディ政権下では成立しなかったが、人種差別廃絶に対し積極的な姿勢を持っていたジョンソン政権下で議会を通過し、1964年、公民権法として成立することとなった。8月28日にキング牧師がワシントン大行進でI Have a Dreamの演説を行ったあと、ケネディはキングをホワイトハウスに招待し、「私も夢見ている」と語った。